2016-04-21 222 views
0

後登錄頁面,我使用窗體身份驗證與此代碼重定向到登錄

<authentication mode="Forms"> 
     <forms defaultUrl="Dashboard.aspx" loginUrl="Login.aspx" slidingExpiration="true" timeout="60" /> 
    </authentication> 
    <authorization> 
     <deny users="?" /> 
     <allow users="*" /> 
    </authorization> 

這裏的問題是成功登錄後,它再次被重定向到登錄頁面,如果我這樣做3〜4次,然後是將我重定向到默認頁面。

+0

我看到它的Web窗體。 –

回答

0

試試這個。如果有效,請添加其他屬性。

<authentication mode="Forms"> 
    <forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH" /> 
</authentication> 

編輯:
成功登錄後,一個cookie創建包含身份驗證票。該票已加密。請求頁面時,解密由FormsAuthenticationModule類完成。我已經有了一些實例,如果它不存在,我必須添加下面的配置,或者如果它存在,請刪除該配置。如果你不使用它

var returnUrl = Request.QueryString["ReturnURL"]; 
if (string.IsNullOrEmpty(returnUrl)){ 
    returnUrl = "~/"; 
} 
Response.Redirect(returnUrl); 

你應該表現爲它:

<system.webServer> 
    <modules> 
     <remove name="FormsAuthentication" /> 
    </modules> 
</system.webServer> 
+0

沒有它不工作.. –

+0

我將修改我的答案。 –

+0

謝謝,但我需要在我的web.config文件中包含這個標籤? –

2

如果您使用的是窗體身份驗證可以使用RETURNURL查詢字符串在你的登錄頁面當用戶重定向到登錄頁面添加查詢字符串與referrer頁面。

//**Remember to url encode it!** 
var returnUrl = Server.UrlEncode(Request.Url.PathAndQuery); 
Response.Redirect("~/login.aspx?ReturnURL=" + returnUrl);