繁体   English   中英

如果用户未经过身份验证,请转到登录页面

[英]If user is not authenticated go to login page

任务:如果用户未经过身份验证,请转到登录页面!

我想在每个控制器的每个动作中都有这种行为。

但是在场景中,我不希望在每一个动作中都有逻辑

if (User == null || User.Identity == null || !User.Identity.IsAuthenticated)
{
    return RedirectToAction("Index","Authentication");
}

这有什么好处?


我添加到web配置:

<authentication mode="Forms">
  <forms loginUrl="~/Authentication" timeout="2880"/>
</authentication>

控制器具有属性[authorize],但AuthenticationController除外,我有[AllowAnonymous]

但仍然没有重定向到登录页面(只显示错误:HTTP错误401.0 - 未经授权)


编辑2:解决了!

我有

 <remove name="FormsAuthentication" /> 

在web.cofig中

当我删除这一行时,一切都很好

您应该定义成员资格提供者或为您的系统提供身份的东西。 然后,您应该为控制器使用Authorize属性。

如果用户未经过身份验证,则授权attiribute将操作重定向到登录视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM