我在web.config
中使用表单身份验证,当我将页面重定向到某些特定页面时,returnUrl会自动追加并系统重定向到Login页面。无论用户是否登录,都应打开这些特定页面。
当我在本地计算机上调试它时,这可以正常工作,但是当我在服务器上部署构建时,它会提供这样的行为。
请帮助我,因为我对此很不满意。
答案 0 :(得分:6)
您可以从表单身份验证中排除特定页面,如下所示:
<configuration>
<location path="Logon.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
</configuration>
答案 1 :(得分:1)
web.config文件中的配置以分层方式应用。要将身份验证设置(允许或拒绝)应用于多个页面,您可以通过将包含身份验证设置的web.config文件放在网站的文件夹中来使用此事实,该文件包含您需要保护的页面,或者另一个包含您不想保护的页面的文件夹。 web.config将应用于该文件夹中的所有页面。
查看此MSDN文章:ASP.NET Configuration File Hierarchy and Inheritance。
本地计算机和构建服务器之间的行为差异意味着配置的差异。这是一个可能的解释。
答案 2 :(得分:0)
我不知道它是否相关(没有提供相关信息),但如果你的是MVC网站,请检查你视图中的[Authorize]
属性