我正在创建一个 Asp.NET MVC 5 应用程序。对于这个项目,我正在尝试实现自定义身份验证机制(我不想使用表单身份验证/OWIN 等外部提供程序)
我创建了一个自定义授权属性,如下所示:
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public class myAuthorize : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (!HttpContext.Current.Request.IsAuthenticated)
{
httpContext.Response.Redirect("~/Account/Login");
}
return base.AuthorizeCore(httpContext);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的登录操作中,我试图更改的值
HttpContext.User.Identity.IsAuthenticated
Run Code Online (Sandbox Code Playgroud)
但它是只读的,我无法更改该值。我可以手动更改它的值还是我犯了一个逻辑错误。