Aracılığıyla paylaş


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ı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 Formsolarak 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)

Şunlara uygulanır

Ayrıca bkz.