如果未经过身份验证,则将用户重定向到登录页面

时间:2010-12-17 13:54:38

标签: c# .net forms-authentication

我正在使用简单的身份验证。,, ..

在配置文件中使用它....

<authentication mode="Forms">
   <forms name=".COOKIE" loginUrl="login.aspx" protection="All" path="/" timeout="480"/>
  </authentication>
  <authorization>
   <deny users="?"/>
   <allow users="*"/>
  </authorization>

未登录的用户应该发送回login.aspx。但目前还没有发生。用户可以转到任何页面。虽然它在我的本地运行良好,但没有在服务器上工作。我错过了什么......

仍在寻找答案......

4 个答案:

答案 0 :(得分:3)

要尝试的事情:

  • 删除<allow users="*"/>
  • 关闭浏览器,重新打开,清除所有Cookie,关闭浏览器,重新打开并转到网站
  • 检查登录页面中的代码以确保它不会自动验证用户
  • 尝试更改Cookie名称...也许是以某种方式共享?

答案 1 :(得分:0)

似乎配置是可以的。您可以检查machine.config或IIS ASP.NET设置是否覆盖了您正在使用的Web.config。

答案 2 :(得分:0)

确保将FormsAuthentication模块添加到httpMdules集合中。如果已从web.config中删除,您可以尝试在machine.config中添加自己的内容。此模块处理重定向到authentication/forms

下指定的内容

答案 3 :(得分:0)

我默认拒绝未经身份验证的用户,只为登录页面和所需的其他资源设置例外。

示例:

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

...

<location path="Login.aspx">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>