FormsAuthentication Sınıf

Tanım

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ı sağlar. Form kimlik doğrulamasıyla, kullanıcı bilgileri veritabanı gibi bir dış veri kaynağında veya bir Membership 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 istekte kimlik bilgileri sağlaması gerekmemesi için tanımlama bilgisinde veya URL'de bir kimlik doğrulama bileti tutar.

Forms kimlik doğrulaması, kimlik doğrulama yapılandırma öğesinin özniteliği olarak Formsayarlanarak mode etkinleştirilir. Aşağıdaki örnekte gösterildiği gibi, bilinmeyen herhangi 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 isteyebilirsiniz.

<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 LoginUrlöğesine yö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, bir tarayıcıyı kullanıcıların uygulamada oturum açması için yapılandırılan LoginUrl öğesine yönlendirir. RedirectFromLoginPage yöntemi, kimliği doğrulanmış bir kullanıcıyı istenen özgün korumalı URL'ye veya öğesine 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 sınıfın FormsAuthentication yeniden yönlendireceği URL'yi alır.

EnableCrossAppRedirects

Kimliği doğrulanmış kullanıcıların diğer Web uygulamalarındaki URL'lere yeniden 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

Sınıfın yeniden yönlendireceği oturum açma sayfasının URL'sini FormsAuthentication alır.

RequireSSL

Forms-authentication tanımlama bilgisinin sunucuya döndürülmesi için SSL gerektirilip gerekmediğini belirten bir değer alır.

SlidingExpiration

Kayan süre sonunun etkinleştirilip etkinleştirilmediğini belirten bir değer alır.

TicketCompatibilityMode

Biletin son kullanma tarihi için Eşgüdümlü Evrensel Saat (UTC) mi yoksa yerel saat mi kullanılacağı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 nesne oluşturur.

EnableFormsAuthentication(NameValueCollection)

Form kimlik doğrulamasını etkinleştirir.

Encrypt(FormsAuthenticationTicket)

HTTP tanımlama bilgisinde kullanıma uygun şifrelenmiş form kimlik doğrulama 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)

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 denetim sahibi olabilir.

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.

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()

Type Geçerli örneğini 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()

FormsAuthentication Uygulamayı yapılandırma ayarlarına göre nesnesini başlatır.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
RedirectFromLoginPage(String, Boolean)

Kimliği doğrulanmış bir kullanıcıyı özgün istenen URL'ye veya varsayılan URL'ye yeniden yönlendirir.

RedirectFromLoginPage(String, Boolean, String)

Kimliği doğrulanmış bir kullanıcıyı, form kimlik doğrulaması tanımlama bilgisi için belirtilen tanımlama bilgisi yolunu kullanarak özgün istenen URL'ye veya varsayılan URL'ye yeniden 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)

Bir FormsAuthenticationTicketiçin sorun tarihi ve saati ile sona erme tarihi ve saatini koşullu olarak güncelleştirir.

SetAuthCookie(String, Boolean)

Sağlanan kullanıcı adı için bir kimlik doğrulama bileti oluşturur ve yanıtın tanımlama bilgileri koleksiyonuna veya tanımlama bilgisi olmayan kimlik doğrulaması kullanıyorsanız URL'ye ekler.

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 bilgisi olmayan kimlik doğrulaması kullanıyorsanız URL'yi kullanarak yanıtın tanımlama bilgileri koleksiyonuna ekler.

SignOut()

Forms-authentication biletini tarayıcıdan kaldırır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.