如何避免服务器自动追加returnURL?该问题涉及IT技术。

5
我在web.config中使用表单身份验证,但是当我将页面重定向到某些特定页面时,returnUrl会自动添加并且系统会重定向到登录页面。无论用户是否已登录,这些特定页面都应该打开。

在本地机器上调试时,这个方法可以正常运行,但是在部署构建到服务器上后出现了这些问题。

请帮助我,因为我卡在了这个问题上。

3个回答

6
您可以通过以下方式从表单身份验证中排除特定页面:
<configuration>
   <location path="Logon.aspx">
      <system.web>
         <authorization>
            <allow users="?"/>
         </authorization>
      </system.web>
   </location>
</configuration>

请参阅 http://msdn.microsoft.com/en-us/library/b6x6shw7.aspx

感谢您的回复。但是这个问题并不是在固定数量的页面上反复出现。就像在我的先前版本中,只有一个页面重定向到该returnURL git,而现在在这个版本中,有3个页面显示了这种行为。无法理解错误的原因,也不知道为什么在本地无法复制。 - Gopesh
重定向用户的页面,是否启用了身份验证?还是用户被重定向到的页面启用了身份验证? - Muhammad Hasan Khan
我不太确定如何检查这个问题... 但是我已经在Web.Config中写了以下内容: <authentication mode="Forms"/> <authorization> <allow users="*" /> </authorization> - Gopesh

1

web.config文件中的配置是以分层方式应用的。要将身份验证设置(允许或拒绝)应用于多个页面,您可以利用这一点,通过在包含需要保护的页面的网站文件夹中放置具有身份验证设置的web.config文件,或者在包含不想保护的页面的文件夹中放置另一个文件。web.config将适用于该文件夹中的所有页面。

请查看此MSDN文章:ASP.NET Configuration File Hierarchy and Inheritance

本地机器和构建服务器之间行为差异意味着配置存在差异。这是一个可能的解释。


有趣,我并不完全意识到这种行为。 - Alex

0

我不知道它是否相关(没有提供任何信息),但如果你的网站是MVC的,请检查你的视图中的[Authorize]属性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接