【发布时间】:2019-03-12 12:31:15
【问题描述】:
我正在创建一个 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);
}
}
在我的登录操作中,我正在尝试更改
的值HttpContext.User.Identity.IsAuthenticated
但它是只读的,我无法更改值。我可以手动更改它的值还是我犯了一个逻辑错误。
【问题讨论】:
-
是的,这是一篇很棒的文章,但它涵盖了提供商的完全替代,事实上,这超出了我对该主题的了解。但我会记住这一点。谢谢。
-
@emumcu 以下任何答案有帮助吗?一个赞成或接受的答案真的很有帮助。