我目前正在創建一個Web應用程序,出於安全原因,我必須將匿名用戶重定向到登錄頁面。做一些研究之前,這裏是我有我的Site.Master頁:登錄註銷混淆(重定向到登錄頁面,如果未登錄)
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/Logout.aspx"/> ]
,你可以看到,我已經創建了包含註銷代碼,FormsAuthentication.Signout
和這樣的我自己的註銷頁面。在這個調用這個頁面的siteMap中還有一個Logout鏈接。
今天早上一切都很好。當我點擊LoginStatus
中的註銷鏈接時,註銷工作正常。我點擊我的網站地圖中的註銷鏈接,註銷工作正常。我試着立即再次登錄,應用程序將我重定向到默認頁面。但是,當我在這裏Web.config
添加這段代碼:
<authorization>
<deny users="?"/>
</authorization>
奇怪的事情發生了。我點擊LoginStatus
中的註銷鏈接,該應用將我重定向到登錄頁面,而不是註銷頁面。更重要的是,當我嘗試再次登錄時,該應用程序會將我重定向到註銷頁面。這使我必須登錄TWICE只是爲了能夠再次回到應用程序。
爲什麼/這是怎麼發生的?任何見解將不勝感激。
怎麼做呢?如果你可以建議一種方法或什麼的,它將不勝感激。 – JamesP
查看我編輯的回覆James – sh1rts