2013-06-04 45 views
0

我正在研究一個ASP.Net 4.5網站,它有兩個部分:未認證和已認證。經過身份驗證的頁面被放置在/ secure /文件夾中。LoginStatus不重定向

我在主頁上有LoginStatus。

<asp:LoginStatus ID="LoginStatus1" runat="server" OnLoggedOut="LoginStatus1_LoggedOut" /> 

Web.config文件:

<forms name="Recycle_Auth" loginUrl="~/Login.aspx" defaultUrl="~/secure/Dashboard.aspx" timeout="30" /> 

我,如果我在本地主機上,並點擊 「登錄」 的問題,這回發,但不重定向到的Login.aspx。但是,如果我去localhost/home.aspx或任何其他頁面,然後單擊「登錄」,它工作正常。

我試着loginUrl =「Login.aspx」沒有運氣。 Elmah也不會記錄任何錯誤。

任何想法,將不勝感激。

回答

0

我的拳頭猜測請(在身份驗證模式在web.config中)path屬性

和關於ELMAH,pleae確保你把它system.webServer

<system.webServer> 
    <modules> 
     <add name="Elmah.ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> 
    </modules> 
... 
+0

感謝解決,但已經定義... –

+0

ASP.net登錄控件將調用FormsAuthentication.GetRed irectUrl然後重定向用戶。 - 你可以粘貼你的認證配置(Web.Config)。 - 同時請檢查匿名訪問登錄頁面 – Microtechie

0

找不到的原因,所以通過添加重定向規則在web.config中

  <rule name="Redirect Blank URL" stopProcessing="true"> 
       <match url="^$" /> 
       <action type="Redirect" url="Home" appendQueryString="false" /> 
      </rule>