Nhờ Google, tôi tìm thấy phiên bản được lưu trong bộ nhớ cache của bài đăng @keyboardP đề cập đến trong his answer. Tôi đang đăng câu trả lời/đăng ở đây làm tài liệu tham khảo cho người khác vì liên kết ban đầu bị hỏng (2012-12-06).
Original question rằng câu trả lời dưới đây đề cập đến:
Tôi có một hình thức dựa trên ứng dụng đó là đem lại cho tôi phù hợp. Tôi nhận thấy rằng, trong một vị trí mà thuộc tính IsAuthenticated là True, bây giờ là sai và không hoạt động như mong đợi. Tôi tự hỏi nếu tôi có một thiết lập không hợp lệ ??
bất cứ ai có thể cho tôi biết những gì thiết đặt thuộc tính IsAuthenticated True - những gì constitues đăng nhập
trả lời bởi Daniel Kent:.
Request.IsAuthenticated
không chỉ dành cho hình thức authentciation - đó là hợp lệ bất kể loại xác thực nào đang được sử dụng (Windows, Hộ chiếu, Biểu mẫu hoặc sơ đồ tùy chỉnh của riêng chúng tôi)
HttpRequest.IsAuthenticated
sẽ đúng khi sử dụng r đưa ra yêu cầu đã được xác thực. Về cơ bản, tài sản này cung cấp thông tin giống như Context.User.Identity.IsAuthenticated
.
Khi bắt đầu yêu cầu, Context.User.Idenity
chứa GenericIdentity
bằng tên người dùng không có.Thuộc tính IsAuthenticated
cho đối tượng này sẽ trả lại false
vì vậy Request.IsAuthenticated
sẽ là false
. Khi một module xác thực xử lý các sự kiện Application_AuthenticateRequest
và successfuly xác thực người sử dụng nó thay thế GenericIdentity
trong Context.User.Identity
với một IIdentity
đối tượng mới đó sẽ trở lại true
từ tài sản IsAuthenticated
của nó. Request.IsAuthenticated
sau đó sẽ trả lại true
.
Trong trường hợp Xác thực biểu mẫu, mô-đun xác thực biểu mẫu sử dụng vé xác thực được mã hóa có trong cookie xác thực để xác thực người dùng. Khi đã thực hiện điều này, nó sẽ thay thế GenericIdentity
trong Context.User.Identity
với đối tượng FormsIdentity
mà trả lại True
từ thuộc tính IsAuthenticated
của nó.
Vì vậy, việc thiết IsAuthenticated
để true
thực sự là khác nhau để đăng nhập. Như Jeff nói, cách đăng nhập vào hình thức xác thực xảy ra khi vé xác thực được tạo ra và gửi cho khách hàng như một cookie. (RedirectFromLoginPage
hoặc SetAuthCookie
) Những gì chúng tôi đang nói về với IsAuthenticated
là xác thực xảy ra với mỗi yêu cầu trang. Đăng nhập xảy ra khi người dùng nhập thông tin đăng nhập của họ và được cấp một vé , xác thực xảy ra với mỗi yêu cầu.
đây là liên kết đến câu trả lời được lưu trong bộ nhớ cache của google: https://webcache.googleusercontent.com/search?q=cache:t4JNfp8peQIJ:https://forums.asp.net/t/1416811.aspx%3FQuestion%2Babout%2Bmethods% 2Bto% 2Betet% 2Bif% 2Ba% 2Buser% 2Bis% 2Blogged% 2Bin – tylerlindell