FormsAuthentication Sınıf
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.
Web uygulamaları için form kimlik doğrulama hizmetlerini yönetir. Bu sınıf devralınamaz.
public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
- Devralma
-
FormsAuthentication
Örnekler
Aşağıdaki kod örneği, form kimlik doğrulaması için ASP.NET üyelik sağlayıcısını kullanan ve tüm kullanıcıların kimliğinin doğrulanması gereken ASP.NET bir uygulamanın Web.config dosyasını gösterir.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
Aşağıdaki kod örneği, form kimlik doğrulaması ve ASP.NET üyeliği kullanan bir ASP.NET uygulamasının 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 (Membership.ValidateUser(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 (Membership.ValidateUser(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
Forms kimlik doğrulaması, Windows kimlik doğrulaması gerektirmeyen Web uygulamaları için kullanıcı ve parola doğrulamasını etkinleştirir. Form kimlik doğrulamasıyla, kullanıcı bilgileri Membership veritabanı gibi bir dış veri kaynağında veya bir uygulamanın yapılandırma dosyasında depolanır. Bir kullanıcının kimliği doğrulandıktan sonra Forms kimlik doğrulaması, kimliği doğrulanmış bir kullanıcının her istekle kimlik bilgileri sağlaması gerekmemesi için tanımlama bilgisinde veya URL'de bir kimlik doğrulama bileti tutar.
Form kimlik doğrulaması, kimlik doğrulaması yapılandırma öğesinin mode
özniteliğini Forms
olarak ayarlayarak etkinleştirilir. Aşağıdaki örnekte gösterildiği gibi, bilinmeyen bir kullanıcının isteğini reddetmek için yetkilendirme yapılandırma öğesini kullanarak bir uygulamaya yönelik tüm isteklerin geçerli bir kullanıcı kimlik doğrulama bileti içermesini zorunlu kılabilirsiniz.
<system.web>
<authentication mode="Forms">
<forms loginUrl="login.aspx" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
Önceki örnekte, uygulamanın parçası olan bir ASP.NET sayfasına yönelik tüm istekler, form kimlik doğrulaması tarafından sağlanan geçerli bir kullanıcı adı gerektirir. Kullanıcı adı yoksa, istek yapılandırılan LoginUrlyönlendirilir.
FormsAuthentication sınıfı, kullanıcıların kimliğini doğrulayan bir uygulamada kullanabileceğiniz yöntemlere ve özelliklere erişim sağlar. RedirectToLoginPage yöntemi, kullanıcıların uygulamada oturum açması için tarayıcıyı yapılandırılmış LoginUrl yönlendirir. RedirectFromLoginPage yöntemi, kimliği doğrulanmış bir kullanıcıyı istenen özgün korumalı URL'ye veya DefaultUrlyeniden yönlendirir. Gerekirse form kimlik doğrulama biletlerini yönetmenizi sağlayan yöntemler de vardır.
Oluşturucular
FormsAuthentication() |
FormsAuthentication sınıfının yeni bir örneğini başlatır. |
Özellikler
CookieDomain |
Forms-authentication tanımlama bilgisinin etki alanının değerini alır. |
CookieMode |
Uygulamanın tanımlama bilgisi olmayan form kimlik doğrulaması için yapılandırılıp yapılandırılmadığını gösteren bir değer alır. |
CookieSameSite |
Tanımlama bilgisinin SameSite özniteliğinin değerini alır veya ayarlar. |
CookiesSupported |
Uygulamanın tanımlama bilgisi olmayan form kimlik doğrulamasını destekleyecek şekilde yapılandırılıp yapılandırılmadığını gösteren bir değer alır. |
DefaultUrl |
Hiçbir yeniden yönlendirme URL'si belirtilmezse FormsAuthentication sınıfının yeniden yönlendireceği URL'yi alır. |
EnableCrossAppRedirects |
Kimliği doğrulanmış kullanıcıların diğer Web uygulamalarında URL'lere yönlendirilip yönlendirilemeyeceğini belirten bir değer alır. |
FormsCookieName |
Forms-authentication biletini depolamak için kullanılan tanımlama bilgisinin adını alır. |
FormsCookiePath |
Forms-authentication tanımlama bilgisinin yolunu alır. |
IsEnabled |
Form kimlik doğrulamasının etkinleştirilip etkinleştirilmediğini gösteren bir değer alır. |
LoginUrl |
FormsAuthentication sınıfının yeniden yönlendireceği oturum açma sayfasının URL'sini alır. |
RequireSSL |
Forms-authentication tanımlama bilgisinin sunucuya döndürülmesi için SSL gerekip gerektirmediğini belirten bir değer alır. |
SlidingExpiration |
Kayan süre sonunun etkinleştirilip etkinleştirilmediğini gösteren bir değer alır. |
TicketCompatibilityMode |
Bilet son kullanma tarihi için Eşgüdümlü Evrensel Saat (UTC) veya yerel saat kullanılıp kullanılmayacağını belirten bir değer alır. |
Timeout |
Kimlik doğrulama biletinin süresi dolmadan önce geçmesi gereken süreyi alır. |
Yöntemler
Authenticate(String, String) |
Geçersiz.
Bir uygulamanın yapılandırma dosyasında depolanan kimlik bilgilerine karşı kullanıcı adını ve parolayı doğrular. |
Decrypt(String) |
yöntemine geçirilen şifrelenmiş forms-authentication anahtarını temel alan bir FormsAuthenticationTicket nesnesi oluşturur. |
EnableFormsAuthentication(NameValueCollection) |
Form kimlik doğrulamasını etkinleştirir. |
Encrypt(FormsAuthenticationTicket) |
HTTP tanımlama bilgisinde kullanıma uygun şifrelenmiş bir forms-authentication bileti içeren bir dize oluşturur. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetAuthCookie(String, Boolean, String) |
Belirli bir kullanıcı adı için kimlik doğrulama tanımlama bilgisi oluşturur. Bu, tanımlama bilgisini giden yanıtın bir parçası olarak ayarlamaz. |
GetAuthCookie(String, Boolean) |
Belirli bir kullanıcı adı için kimlik doğrulama tanımlama bilgisi oluşturur. Bu, tanımlama bilgisini giden yanıtın bir parçası olarak ayarlamaz, böylece bir uygulama tanımlama bilgisinin nasıl verildiği üzerinde daha fazla denetime sahip olabilir. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetRedirectUrl(String, Boolean) |
Oturum açma sayfasına yeniden yönlendirmeye neden olan özgün isteğin yeniden yönlendirme URL'sini döndürür. |
GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
HashPasswordForStoringInConfigFile(String, String) |
Geçersiz.
Belirtilen parolayı ve karma algoritmayı temel alan bir yapılandırma dosyasında depolamak için uygun bir karma parola üretir. |
Initialize() |
uygulamanın yapılandırma ayarlarına göre FormsAuthentication nesnesini başlatır. |
MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
RedirectFromLoginPage(String, Boolean, String) |
Kimliği doğrulanmış bir kullanıcıyı, forms-authentication tanımlama bilgisi için belirtilen tanımlama bilgisi yolunu kullanarak ilk istenen URL'ye veya varsayılan URL'ye geri yönlendirir. |
RedirectFromLoginPage(String, Boolean) |
Kimliği doğrulanmış bir kullanıcıyı özgün istenen URL'ye veya varsayılan URL'ye geri yönlendirir. |
RedirectToLoginPage() |
Tarayıcıyı oturum açma URL'sine yönlendirir. |
RedirectToLoginPage(String) |
Tarayıcıyı belirtilen sorgu dizesiyle oturum açma URL'sine yönlendirir. |
RenewTicketIfOld(FormsAuthenticationTicket) |
FormsAuthenticationTicketiçin sorun tarih ve saatini ve son kullanma tarihini ve saatini koşullu olarak güncelleştirir. |
SetAuthCookie(String, Boolean, String) |
Sağlanan kullanıcı adı için bir kimlik doğrulama bileti oluşturur ve sağlanan tanımlama bilgisi yolunu kullanarak veya tanımlama bilgisiz kimlik doğrulaması kullanıyorsanız URL'yi kullanarak yanıtın tanımlama bilgileri koleksiyonuna ekler. |
SetAuthCookie(String, Boolean) |
Sağlanan kullanıcı adı için bir kimlik doğrulama bileti oluşturur ve bunu yanıtın tanımlama bilgileri koleksiyonuna veya tanımlama bilgisiz kimlik doğrulaması kullanıyorsanız URL'ye ekler. |
SignOut() |
Forms-authentication biletini tarayıcıdan kaldırır. |
ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |