2012-10-25 58 views
3

我想在web.config文件中存儲的用戶名和密碼,如下重定向不工作Asp.net使用的Web.Config

<authentication mode="Forms"> 
    <forms loginUrl="Admin Login.aspx" defaultUrl="~/Home.aspx"> 
    <credentials> 
     <user name="Admin" password="123" /> 

    </credentials> 
    </forms> 
</authentication> 

到登錄表單Authetication登錄後,我寫了一篇關於提交按鈕驗證碼

if (FormsAuthentication.Authenticate(TxtUsername.Text, TxtPassword.Text)) 
    { 

     Response.Redirect(FormsAuthentication.GetRedirectUrl(TxtUsername.Text, false)); 
    } 

但它沒有被重定向..任何建議..?

回答

2

您需要在重定向之前調用FormsAuthentication.SetAuthCookie()

if (FormsAuthentication.Authenticate(TxtUsername.Text, TxtPassword.Text)) 
{ 
    FormsAuthentication.SetAuthCookie(TxtUsername.Text, false); 
    Response.Redirect(FormsAuthentication.GetRedirectUrl(TxtUsername.Text, false)); 
} 
+0

這也不起作用。 。 。 – Sudix

+0

你在web.config中設置了一個''部分嗎?您需要告訴ASP.Net拒絕用戶訪問某個頁面,這會導致重定向到您的登錄表單。這有意義嗎? – dana

+0

@dana:如果沒有授權表單身份驗證,並且重定向應該正常工作。 – dotNETbeginner

2

實際的罪魁禍首是你的credentials標籤..
將其更改爲以下..它應該爲你工作..

.. 
<credentials passwordFormat="Clear"> 
    ... 

,還可以使用驗證後

FormsAuthentication.RedirectFromLoginPage(TxtUsername.Text, false); 

,這將設置authCookie並重定向到請求的頁面或您的默認頁面。