2011-05-07 50 views
0

登录我的网页后,我打开不同的链接我的页面的查询字符串传递链接认证和返回URL

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

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

回答

0

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

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

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="?"/>)。