身份验证和返回网址

时间:2011-05-07 06:56:11

标签: asp.net authentication

登录我的页面后,我打开了不同的链接,我的页面链接传递了查询字符串

ex:http://localhost/document/doc.aspx?aaa=ddd

当我删除url中的查询字符串并复制url并打开新浏览器并在我按下输入doc.aspx页面时粘贴url这次我希望重定向登录页面。我的应用程序中有数字页面,我该怎么做。我们正在使用表单身份验证

2 个答案:

答案 0 :(得分:0)

这是ASP.Net成员资格提供程序的内置行为 - 它将在访问任何受保护的URL之前检查身份验证。

当你谈到“打开不同的浏览器”时,你的意思是同一个浏览器的新实例,即2个Internet Explorer窗口,或者不同浏览器的实例,即1个Firefox窗口,1个Chrome窗口?如果您使用相同的浏览器,它仍然会有身份验证cookie,并且仍然需要进行身份验证,但如果您打开另一个浏览器(不与另一个浏览器共享cookie),那么您将获得重定向行为。如果您要将链接复制/粘贴给其他人,他们当然会被重定向,因为他们没有身份验证cookie,除非他们当前以他们自己的身份登录。

答案 1 :(得分:0)

您需要确保您的网页/文件夹在web.config中被锁定。

该元素允许您指定文件(/document/doc.aspx)或整个文件夹(/ document /)的路径。然后,您可以通过各种标准将其锁定,例如任何经过身份验证的用户,特定角色,特定用户。

查看您的web.config并确保底部有以下内容(将其放在</runtime></configuration>之间:

  </runtime>
  <!-- access permissions -->
  <location path="/document/">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>
</configuration>

从这个例子中可以看出,我已经锁定了任何未经身份验证的用户(path="/document/")的整个文件夹(<deny users="?"/>)。