Bạn có thể khai báo static property CookieAuthOptions
nếu bạn đã định cấu hình CookieAuthOptions
trong ConfigureAuth hoặc bất kỳ AuthOption nào khác cũng nên triển khai ISecureDataFormat<AuthenticationTicket>
(ví dụ: OAuthBearerOptions.AccessTokenFormat
). Phần này chứa các phương thức Protect
& Unprotect
.
Bất cứ khi nào bạn cần truy cập AuthenticationProperties
, bạn phải có khả năng nắm bắt ngữ cảnh Owin để có được tham chiếu đến một vé thực hiện định dạng chính xác của bạn.
Là một bước ví dụ cơ bản,
Startup.cs => public static CookieAuthenticationOptions CookieAuthOptions;
Startup.cs => ConfigureAuth => CookieAuthOptions.CookieName = "xxx";
BaseController.cs => Startup.CookieAuthOptions.TicketDataFormat.Unprotect(Request.Cookies["xxx"].Value).Properties;
để có được những gì bạn muốn.
PS: Bạn không đề cập đến nơi bạn cần điều này và tôi cho rằng nó sẽ nằm trong bộ điều khiển.
@MarioDS, có một lý do khiến câu hỏi này không nhận được sự chú ý. Là nó không phải là rất rõ ràng. Nhưng bỏ qua một bên, trước tiên bạn nên hiểu những gì tài sản là về. kiểm tra câu trả lời này http://stackoverflow.com/a/32052308/5233410 Trong ngắn hạn nó (tài sản) không được lưu trữ để được đọc lại. Nó chỉ hướng dẫn khuôn khổ để tạo ra một cookie. Giả sử của tôi là khi cookie có mặt thì tài sản có thể được đặt thành true, và nếu không thì sẽ sai. – Nkosi
@Nkosi Tôi nhận ra rằng ngay sau khi tôi đặt tiền thưởng - không quay lại không may :). Những gì tôi thực sự muốn biết là làm thế nào để đọc các tài sản khác trở lại (đặc biệt là những người đặt trong "Từ điển" của AuthenticationProperties). – MarioDS
có thể liên kết này sẽ giúp bạn. http://stackoverflow.com/questions/31946582/how-ispersistent-works-in-owin-cookie-authentication –