Mã này là từ MVC mã nguồn RTM asp.netAi bộ tài sản của HttpContext.User.Identity
Ai bộ tài sản của HttpContext.User.Identity IsAuthenticated IsAuthenticated?
protected virtual bool AuthorizeCore(HttpContextBase httpContext) {
if (httpContext == null) {
throw new ArgumentNullException("httpContext");
}
IPrincipal user = httpContext.User;
if (!user.Identity.IsAuthenticated) {
return false;
}
}
là tài sản IsAuthenticated thiết lập bằng cách gọi phương pháp này (asp.net MVC dự án 4,0 mẫu):
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
Khi tôi gỡ lỗi mã của Logon phương pháp của MVC asp.net 4.0 dự án mẫu sau cuộc gọi phương thức FormsAuth ... ở trên. Việc thực hiện
User.Identity.IsAuthenticated
vẫn đang trả về FALSE. Chỉ khi tôi gỡ lỗi các phương pháp Logoff các
User.Identity.IsAuthenticated
nói TRUE. Vậy ai là người thiết lập thuộc tính này thành TRUE và WHEN?
CẬP NHẬT:
Đây là khoảng HÌNH THỨC xác thực!
Tôi hiện đã gỡ lỗi phương thức LogOn của dự án mẫu asp.net mvc và sau khi hành động LogOn được trả về, phương thức AuthorizeCore tôi đã ghi đè được gọi và sau đó thuộc tính IsAuthenticated là TRUE!
Cài đặt TRUE có phụ thuộc vào bộ sưu tập ModelState.Value.Error không?
Nếu count == 0 trong các bộ sưu tập lỗi các IsAuthenticated là TRUE khác các IsAuthenticated là FALSE
Bạn có thể xác nhận rằng?
Không có liên kết nguồn nhưng đánh giá các giải pháp asp.net MVC khác của bạn Tôi thấy bạn là chuyên gia ;-) Tôi thích trên lời giải thích với các yêu cầu tiếp theo mà nhiều người không hiểu/tìm googling để được giúp đỡ trong cùng một chủ đề này. – Elisabeth
@DarinDimitrov Nếu phản hồi được viết đúng cookie bao gồm vé FormAuthentication sau khi được xác thực thành công. Asp.net sẽ đọc và giải quyết nó từ yêu cầu. nó sẽ xác định nếu 'IsAuthenticated' đúng là false. Bất kỳ vấn đề xin vui lòng sửa tôi. Cảm ơn. –