仅在未在asp.net MVC中进行身份验证时才将用户重定向到登录页面

时间:2010-08-01 07:21:00

标签: asp.net asp.net-mvc

NET MVC项目我在web.config文件中有以下标记

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

即使是经过身份验证的用户,也会导致未经授权的资源请求用户重定向到登录页面。但是如果用户试图访问未经授权的页面并且尚未经过身份验证(登录)并重定向到自定义页面,我只需要重定向此页面。

如果不编写自定义操作过滤器,有没有简单的方法呢?

2 个答案:

答案 0 :(得分:3)

这一行在web.config中所做的就是简单地定义身份验证cookie和登录URL的超时。您的代码可以通过例如使用[Authorize]属性修饰控制器和/或操作来决定网站的哪些部分经过身份验证或不通过身份验证。

答案 1 :(得分:0)

请检查web.config文件中的“授权”设置。应该有点

<authorization>
      <deny users="?" />
      <allow users="*" />
    </authorization>

当用户成功验证时,请确保拨打电话

FormsAuthentication.SetAuthCookie(<username>, false); 
相关问题