繁体   English   中英

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

[英]Redirecting user to login page if not authenticated

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

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

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

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

还在寻找答案......

有几件事要尝试:

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

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

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

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

例:

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

...

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

暂无
暂无

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

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