2011-05-07 49 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="?"/>)。