我目前正在创建一个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