FormsAuthentication.Authenticate(String, String) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dikkat
The recommended alternative is to use the Membership APIs, such as Membership.ValidateUser. For more information, see http://go.microsoft.com/fwlink/?LinkId=252463.
Bir uygulamanın yapılandırma dosyasında depolanan kimlik bilgilerine karşı kullanıcı adını ve parolayı doğrular.
public:
static bool Authenticate(System::String ^ name, System::String ^ password);
public static bool Authenticate (string name, string password);
[System.Obsolete("The recommended alternative is to use the Membership APIs, such as Membership.ValidateUser. For more information, see http://go.microsoft.com/fwlink/?LinkId=252463.")]
public static bool Authenticate (string name, string password);
static member Authenticate : string * string -> bool
[<System.Obsolete("The recommended alternative is to use the Membership APIs, such as Membership.ValidateUser. For more information, see http://go.microsoft.com/fwlink/?LinkId=252463.")>]
static member Authenticate : string * string -> bool
Public Shared Function Authenticate (name As String, password As String) As Boolean
Parametreler
- name
- String
Kullanıcı adı.
- password
- String
Kullanıcının parolası.
Döndürülenler
true
kullanıcı adı ve parola geçerliyse; aksi takdirde , false
.
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, bir uygulamanın Web.config dosyasında depolanan kullanıcı kimlik bilgilerini gösterir. Parola değerleri yöntemi kullanılarak karma olarak verilmiştir HashPasswordForStoringInConfigFile .
Bu örnekte SHA1 kullanılır. SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft SHA256'yı önerir.
<authentication mode="Forms">
<forms loginUrl="login.aspx">
<credentials passwordFormat="SHA1">
<user name="user1" password="27CE4CA7FBF00685AF2F617E3F5BBCAFF7B7403C" />
<user name="user2" password="D108F80936F78DFDD333141EBC985B0233A30C7A" />
<user name="user3" password="7BDB09781A3F23885CD43177C0508B375CB1B7E9"/>
</credentials>
</forms>
</authentication>
Aşağıdaki kod örneği, kullanıcı kimlik bilgilerini doğrulamak için yöntemini kullanan Authenticate bir oturum açma sayfasını gösterir.
Önemli
Bu örnek, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu içerir. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Login_OnClick(object sender, EventArgs args)
{
if (FormsAuthentication.Authenticate(UsernameTextbox.Text, PasswordTextbox.Text))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub Login_OnClick(sender As Object, args As EventArgs)
If FormsAuthentication.Authenticate(UsernameTextbox.Text, PasswordTextbox.Text) Then
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
Else
Msg.Text = "Login failed. Please check your user name and password and try again."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
Açıklamalar
Authenticate yöntemi, uygulama yapılandırma dosyasının kimlik bilgileri bölümünde depolanan kullanıcı kimlik bilgilerini doğrular . Alternatif olarak, kullanıcı kimlik bilgilerini depolamak için ASP.NET üyeliğini kullanabilir ve kimlik bilgilerini doğrulamak için öğesini ValidateUser çağırabilirsiniz. Daha fazla bilgi için bkz. Üyeliği Kullanarak Kullanıcıları Yönetme.
Gelişmiş güvenlik için yöntemini kullanarak HashPasswordForStoringInConfigFile bir uygulamanın yapılandırma dosyasında depolanan parolaları şifreleyebilirsiniz.