2

如何使用沒有登錄控件的表單身份驗證。我不想在我的站點中使用asp.net登錄控件。但是我必須實現表單身份驗證並驗證數據庫中的用戶。如何在沒有登錄控制的情況下使用表單認證?

+0

它有幫助,我提供的鏈接將有助於我的想法。 – freebird 2012-04-11 06:04:21

+1

謝謝你的回覆... – 2012-04-11 06:05:41

+0

回覆並不重要,如果它可以幫助你的事業,那是重要的。我們在這裏互相幫助。謝謝 – freebird 2012-04-11 06:07:25

回答

4

我假設不是使用登錄控件,而是使用幾個文本框(例如用戶名/密碼)和登錄按鈕。該代碼可能是這個樣子:

在你的aspx文件

<asp:Textbox runat="server" ID="Username"/> 
<asp:Textbox runat="server" ID="Password"/> 
<asp:Button runat="server" ID="Login" OnClick="Login_OnClick"/> 

<asp:Label runat="server" ID="Msg" > 

而在服務器端:

public void Login_OnClick(object sender, EventArgs args) 
{ 
if (Membership.ValidateUser(Username.Text,Password.Text)) 
{ 
    FormsAuthentication.RedirectFromLoginPage(Username.Text, 
    NotPublicCheckBox.Checked); 
} 
else 
Msg.Text = "Login failed."; 
} 

窗體身份驗證通常由兩個部分組成:

  • 調用會員API以驗證/驗證用戶
  • 使用FormsAuthentication API登錄(創建AUTH餅乾等)

欲瞭解更多信息看這些文章的用戶:

2

<forms 

    loginUrl ="~/Login.aspx" 
    cookieless= "AutoDetect" 
    slidingExpiration="true" 
    timeout="10" 
    protection ="All" 
    /> 

</authentication> 
<authorization> 
    <deny users ="?" /> 
    <allow users="*" /> 
</authorization> 

loginUrl - >使用您的登錄頁面出現,默認爲爲Login.aspx 上的登錄按鈕的點擊或按鈕登錄使用該數據庫從驗證憑據後

 HttpCookie authCookie = FormsAuthentication.GetAuthCookie(txtUsername.Text, false); 
     FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value); 
     FormsAuthenticationTicket newTicket = new FormsAuthenticationTicket(ticket.Version, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent,""); 
     authCookie.Value = FormsAuthentication.Encrypt(newTicket); 
     Response.Cookies.Add(authCookie); 
     string redirUrl = FormsAuthentication.GetRedirectUrl(txtUsername.Text, false); 
     Response.Redirect(redirUrl); 

在這裏您可以找到有關配置的web.config以滿足您的需求信息, Forms Authentication

相關問題