FormsAuthentication FormsAuthentication FormsAuthentication FormsAuthentication Class

定義

Web アプリケーションのフォーム認証サービスを管理します。Manages forms-authentication services for Web applications. このクラスは継承できません。This class cannot be inherited.

public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
継承
FormsAuthenticationFormsAuthenticationFormsAuthenticationFormsAuthentication

次のコード例では、フォーム認証のため、ASP.NET メンバーシップ プロバイダーを使用して、すべてのユーザーが認証を必要とする ASP.NET アプリケーションの Web.config ファイルを示します。The following code example shows the Web.config file for an ASP.NET application that uses the ASP.NET membership provider for forms authentication and requires all users to be authenticated.

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

次のコード例では、フォーム認証、ASP.NET メンバーシップを使用する ASP.NET アプリケーションのログイン ページを示します。The following code example shows the login page for an ASP.NET application that uses forms authentication and ASP.NET membership.

重要

この例には、潜在的なセキュリティ上の脅威がユーザー入力を受け付けるテキスト ボックスが含まれています。This example contains a text box that accepts user input, which is a potential security threat. 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 詳細については、「スクリプトによる攻略の概要」を参照してください。For more information, see Script Exploits Overview.

<%@ 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>

注釈

フォーム認証では、ユーザーとパスワードの検証に Windows 認証を必要としない Web アプリケーションを使用できます。Forms authentication enables user and password validation for Web applications that do not require Windows authentication. フォーム認証でユーザー情報は、外部データ ソースなど、Membershipデータベース、またはアプリケーションの構成ファイル。With forms authentication, user information is stored in an external data source, such as a Membership database, or in the configuration file for an application. ユーザーが認証されると、フォーム認証は、すると、認証されたユーザーは各要求に資格情報を指定する必要はありません、認証チケットをクッキーまたは URL を保持します。Once a user is authenticated, forms authentication maintains an authentication ticket in a cookie or in the URL so that an authenticated user does not need to supply credentials with each request.

フォーム認証が有効になって、modeの属性、認証構成要素をFormsします。Forms authentication is enabled by setting the mode attribute of the authentication configuration element to Forms. 使用して、アプリケーションへのすべての要求が有効なユーザーの認証チケットを含めることことが必要なことができます、承認構成要素の次の例に示すように、すべての不明なユーザーの要求を拒否します。You can require that all requests to an application contain a valid user authentication ticket by using the authorization configuration element to deny the request of any unknown user, as shown in the following example.

<system.web>  
  <authentication mode="Forms">  
    <forms loginUrl="login.aspx" />  
  </authentication>  
  <authorization>  
    <deny users="?" />  
  </authorization>  
</system.web>  

前の例では、アプリケーションの一部である ASP.NET ページのすべての要求には、フォーム認証によって指定された有効なユーザー名が必要です。In the previous example, any request for an ASP.NET page that is part of the application requires a valid user name that is supplied by forms authentication. ユーザー名が存在しないかどうかは、要求をリダイレクトする、構成されたLoginUrlします。If no user name exists, then the request is redirected to the configured LoginUrl.

FormsAuthenticationクラス メソッドとユーザーを認証するアプリケーションで使用できるプロパティにアクセスを提供します。The FormsAuthentication class provides access to methods and properties that you can use in an application that authenticates users. RedirectToLoginPageメソッドに、構成されているブラウザーをリダイレクトするLoginUrlユーザーをアプリケーションにログインします。The RedirectToLoginPage method redirects a browser to the configured LoginUrl for users to log into an application. RedirectFromLoginPageまたは要求された元の保護された URL に、メソッドは、認証されたユーザーをリダイレクト、DefaultUrlします。The RedirectFromLoginPage method redirects an authenticated user back to the original protected URL that was requested or to the DefaultUrl. 必要な場合は、フォーム認証チケットを管理することを可能にするメソッドもあります。There are also methods that enable you to manage forms-authentication tickets, if needed.

コンストラクター

FormsAuthentication() FormsAuthentication() FormsAuthentication() FormsAuthentication()

FormsAuthentication クラスの新しいインスタンスを初期化します。Initializes a new instance of the FormsAuthentication class.

プロパティ

CookieDomain CookieDomain CookieDomain CookieDomain

フォーム認証クッキーのドメインの値を取得します。Gets the value of the domain of the forms-authentication cookie.

CookieMode CookieMode CookieMode CookieMode

アプリケーションが Cookie なしのフォーム認証に対して構成されているかどうかを示す値を取得します。Gets a value that indicates whether the application is configured for cookieless forms authentication.

CookieSameSite CookieSameSite CookieSameSite CookieSameSite

Cookie の SameSite 属性の値を取得または設定します。Gets or sets the value for the SameSite attribute of the cookie.

CookiesSupported CookiesSupported CookiesSupported CookiesSupported

アプリケーションが Cookie なしのフォーム認証をサポートするように構成されているかどうかを示す値を取得します。Gets a value that indicates whether the application is configured to support cookieless forms authentication.

DefaultUrl DefaultUrl DefaultUrl DefaultUrl

リダイレクト URL が指定されていない場合に、FormsAuthentication クラスがリダイレクトする URL を取得します。Gets the URL that the FormsAuthentication class will redirect to if no redirect URL is specified.

EnableCrossAppRedirects EnableCrossAppRedirects EnableCrossAppRedirects EnableCrossAppRedirects

認証されたユーザーを他の Web アプリケーション内の URL にリダイレクトできるかどうかを示す値を取得します。Gets a value indicating whether authenticated users can be redirected to URLs in other Web applications.

FormsCookieName FormsCookieName FormsCookieName FormsCookieName

フォーム認証チケットを格納するのに使用されるクッキーの名前を取得します。Gets the name of the cookie used to store the forms-authentication ticket.

FormsCookiePath FormsCookiePath FormsCookiePath FormsCookiePath

フォーム認証クッキーのパスを取得します。Gets the path for the forms-authentication cookie.

IsEnabled IsEnabled IsEnabled IsEnabled

フォーム認証が有効かどうかを示す値を取得します。Gets a value that indicates whether forms authentication is enabled.

LoginUrl LoginUrl LoginUrl LoginUrl

FormsAuthentication クラスがリダイレクトするログイン ページ用 URL を取得します。Gets the URL for the login page that the FormsAuthentication class will redirect to.

RequireSSL RequireSSL RequireSSL RequireSSL

フォーム認証のクッキーをサーバーに返すために SSL を必要とするかどうかを示す値を取得します。Gets a value indicating whether the forms-authentication cookie requires SSL in order to be returned to the server.

SlidingExpiration SlidingExpiration SlidingExpiration SlidingExpiration

変化する有効期限が有効かどうかを示す値を取得します。Gets a value indicating whether sliding expiration is enabled.

TicketCompatibilityMode TicketCompatibilityMode TicketCompatibilityMode TicketCompatibilityMode

チケットの有効期限に関して世界協定時刻 (UTC: Coordinated Universal Time) と現地時間のどちらを使用するかを示す値を取得します。Gets a value that indicates whether to use Coordinated Universal Time (UTC) or local time for the ticket expiration date.

Timeout Timeout Timeout Timeout

認証チケットの有効期限が切れるまでの時間を取得します。Gets the amount of time before an authentication ticket expires.

メソッド

Authenticate(String, String) Authenticate(String, String) Authenticate(String, String) Authenticate(String, String)

アプリケーションの構成ファイルに格納されている資格情報に対してユーザー名とパスワードを検証します。Validates a user name and password against credentials stored in the configuration file for an application.

Decrypt(String) Decrypt(String) Decrypt(String) Decrypt(String)

メソッドに渡される暗号化されたフォーム認証チケットに基づいて FormsAuthenticationTicket オブジェクトを作成します。Creates a FormsAuthenticationTicket object based on the encrypted forms-authentication ticket passed to the method.

EnableFormsAuthentication(NameValueCollection) EnableFormsAuthentication(NameValueCollection) EnableFormsAuthentication(NameValueCollection) EnableFormsAuthentication(NameValueCollection)

フォーム認証を有効にします。Enables forms authentication.

Encrypt(FormsAuthenticationTicket) Encrypt(FormsAuthenticationTicket) Encrypt(FormsAuthenticationTicket) Encrypt(FormsAuthenticationTicket)

HTTP クッキーで使用するのに適した暗号化認証チケットを格納している文字列を生成します。Creates a string containing an encrypted forms-authentication ticket suitable for use in an HTTP cookie.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAuthCookie(String, Boolean) GetAuthCookie(String, Boolean) GetAuthCookie(String, Boolean) GetAuthCookie(String, Boolean)

指定したユーザー名の認証クッキーを作成します。Creates an authentication cookie for a given user name. クッキーは発信応答の一部として設定されないため、アプリケーションはクッキーの発行方法を詳細に制御できます。This does not set the cookie as part of the outgoing response, so that an application can have more control over how the cookie is issued.

GetAuthCookie(String, Boolean, String) GetAuthCookie(String, Boolean, String) GetAuthCookie(String, Boolean, String) GetAuthCookie(String, Boolean, String)

指定したユーザー名の認証クッキーを作成します。Creates an authentication cookie for a given user name. クッキーは発信応答の一部として設定されません。This does not set the cookie as part of the outgoing response.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetRedirectUrl(String, Boolean) GetRedirectUrl(String, Boolean) GetRedirectUrl(String, Boolean) GetRedirectUrl(String, Boolean)

ログイン ページへのリダイレクトを引き起こした元の要求に対する、リダイレクト URL を返します。Returns the redirect URL for the original request that caused the redirect to the login page.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
HashPasswordForStoringInConfigFile(String, String) HashPasswordForStoringInConfigFile(String, String) HashPasswordForStoringInConfigFile(String, String) HashPasswordForStoringInConfigFile(String, String)

指定したパスワードとハッシュ アルゴリズムに基づいて、構成ファイルに格納できるハッシュ パスワードを生成します。Produces a hash password suitable for storing in a configuration file based on the specified password and hash algorithm.

Initialize() Initialize() Initialize() Initialize()

アプリケーションの構成に基づいて FormsAuthentication オブジェクトを初期化します。Initializes the FormsAuthentication object based on the configuration settings for the application.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
RedirectFromLoginPage(String, Boolean) RedirectFromLoginPage(String, Boolean) RedirectFromLoginPage(String, Boolean) RedirectFromLoginPage(String, Boolean)

認証済みユーザーを最初に要求された URL または既定の URL にリダイレクトします。Redirects an authenticated user back to the originally requested URL or the default URL.

RedirectFromLoginPage(String, Boolean, String) RedirectFromLoginPage(String, Boolean, String) RedirectFromLoginPage(String, Boolean, String) RedirectFromLoginPage(String, Boolean, String)

フォーム認証クッキーに指定されているクッキー パスを使用して、認証済みユーザーを最初に要求された URL または既定の URL にリダイレクトします。Redirects an authenticated user back to the originally requested URL or the default URL using the specified cookie path for the forms-authentication cookie.

RedirectToLoginPage() RedirectToLoginPage() RedirectToLoginPage() RedirectToLoginPage()

ブラウザーをログイン URL にリダイレクトします。Redirects the browser to the login URL.

RedirectToLoginPage(String) RedirectToLoginPage(String) RedirectToLoginPage(String) RedirectToLoginPage(String)

指定したクエリ文字列でログイン URL にブラウザーをリダイレクトします。Redirects the browser to the login URL with the specified query string.

RenewTicketIfOld(FormsAuthenticationTicket) RenewTicketIfOld(FormsAuthenticationTicket) RenewTicketIfOld(FormsAuthenticationTicket) RenewTicketIfOld(FormsAuthenticationTicket)

条件付きで FormsAuthenticationTicket の発行日時と有効期限を更新します。Conditionally updates the issue date and time and expiration date and time for a FormsAuthenticationTicket.

SetAuthCookie(String, Boolean) SetAuthCookie(String, Boolean) SetAuthCookie(String, Boolean) SetAuthCookie(String, Boolean)

指定したユーザー名に対して認証チケットを作成し、それを応答のクッキー コレクションに追加します。クッキーなしの認証を使用している場合は URL に追加します。Creates an authentication ticket for the supplied user name and adds it to the cookies collection of the response, or to the URL if you are using cookieless authentication.

SetAuthCookie(String, Boolean, String) SetAuthCookie(String, Boolean, String) SetAuthCookie(String, Boolean, String) SetAuthCookie(String, Boolean, String)

指定したユーザー名に対して認証チケットを作成し、指定したクッキー パスを使用してそれを応答のクッキー コレクションに追加します。クッキーなしの認証を使用している場合は URL に追加します。Creates an authentication ticket for the supplied user name and adds it to the cookies collection of the response, using the supplied cookie path, or using the URL if you are using cookieless authentication.

SignOut() SignOut() SignOut() SignOut()

ブラウザーからフォーム認証チケットを削除します。Removes the forms-authentication ticket from the browser.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

セキュリティ

AspNetHostingPermission
使用する、FormsAuthenticationホスト環境にあるクラス。To use the FormsAuthentication class in a hosted environment. 要求値:LinkDemandします。Demand value: LinkDemand. アクセス許可の値:Minimalします。Permission value: Minimal.

適用対象

こちらもご覧ください