次の方法で共有


FormsAuthenticationConfiguration クラス

ASP.NET アプリケーションのフォーム認証を構成します。

構文

class FormsAuthenticationConfiguration : EmbeddedObject  

メソッド

このクラスにはメソッドが含まれていません。

プロパティ

次の表は、FormsAuthenticationConfiguration クラスによって公開されるプロパティの一覧です。

名前 説明
Cookieless フォーム認証で Cookie を使用する必要があるかどうかを指定する、読み取り/書き込みの sint32 列挙型。 使用できる値の一覧は、後述の「注釈」セクションに示します。
Credentials フォーム認証時に使用するユーザー名とパスワードのコレクションを含む、FormsAuthenticationCredentials 値。 注: セキュリティが必要な場合は、別の方法でユーザー名とパスワードを保存してください (データベース ストアに保存するなど)。 このコレクションを使用する場合は、FormsAuthenticationCredentials クラスの PasswordFormat プロパティで暗号化形式を指定してください。
DefaultUrl 認証後の要求の送信先となる既定の URL を指定する、読み取り/書き込みの空でない string 値。 既定値は "default.aspx" です。
Domain フォーム認証 Cookie で送信されるドメイン名を指定する、読み取り/書き込みの string 値。 既定値は "" です。 フォーム認証 Cookie の場合、この設定は HttpCookiesSection クラスの Domain プロパティの設定よりも優先されます。
EnableCrossAppRedirects 読み取り/書き込みの boolean 値。 認証されたユーザーを他のアプリケーションの URL にリダイレクトできる場合は true、それ以外の場合は false。 既定値は、false です。 このプロパティが true の場合、リダイレクトが実行されます。それ以外の場合、ブラウザーは DefaultUrl プロパティで定義されているページにリダイレクトされます。 注: 複数の ASP.NET アプリケーションでフォーム認証が有効になっている場合、ユーザーはアプリケーションを切り替えるときに再認証する必要はありません。 詳細については、「複数のアプリケーションにわたるフォーム認証」を参照してください。
LoginUrl ユーザーが認証されていない場合、または有効な認証 Cookie が存在しない場合に、要求がリダイレクトされる URL を指定する、空でない読み取り/書き込みの string 値。 既定値は "login.aspx" です。
Name 要求認証に使用する HTTP Cookie の名前を指定する、空でない読み取り/書き込みの string 値。 既定値は ".ASPXAUTH" です。
Path 認証に使用する HTTP Cookie のパスを指定する、空でない読み取り/書き込みの string 値。 パスは、認証 Cookie 自体と共に送信されます。 既定値は "/" で、Web アプリケーション ルートを表します。
Protection Cookie に使用される暗号化方法を指定する、読み取り/書き込みの sint32 値。 使用できる値の一覧は、後述の「注釈」セクションに示します。
RequireSSL 読み取り/書き込みの boolean 値。 認証に Secure Sockets Layer (SSL) 接続が必要な場合は true、それ以外の場合は false。 既定値は、false です。 このプロパティが true の場合、Web アプリケーションで SSL 接続を使用しないフォーム認証要求がすべて拒否されます。
SlidingExpiration 読み取り/書き込みの boolean 値。 認証 Cookie の有効期限が現在の日付と時刻に Timeout プロパティ内の値 (分単位) を加えた値に設定される場合は true、それ以外の場合は false。 既定値は、true です。

true の場合で、かつ Timeout の値の半分以下が残っており、ユーザーがまだアクティブにアプリケーションを使用している場合、Cookie の有効期限の日付と時刻は自動的にリセットされます。 false の場合、Timeout プロパティで指定された時間間隔が経過すると、Cookie は自動的にタイムアウトします。
Timeout 認証の有効期限が切れるまでの時間を指定する、読み取り/書き込みの datetime 値。 デフォルトは 30 分です。

サブクラス

このクラスにはサブクラスが含まれていません。

解説

このクラスのインスタンスは、AuthenticationSection クラスの Forms プロパティに含まれています。

次の表に、Cookieless プロパティとして使用できる値の一覧を示します。 既定値は 3 (UseDeviceProfile) です。

Value キーワード 説明
0 UseUri ブラウザーやデバイスで Cookie をサポートしているかどうかに関係なく、呼び出し元の機能でクエリ文字列を使用して識別子が格納されることを指定します。
1 UseCookies ブラウザーやデバイスで Cookie をサポートしているかどうかに関係なく、ユーザー データを保持するために Cookie が使用されることを指定します。
2 AutoDetect 要求元のブラウザーやデバイスで Cookie をサポートしているかどうかが ASP.NET によって決まることを指定します。 ブラウザーやデバイスで Cookie をサポートしている場合、要求元の機能で Cookie を使用してユーザー データが保持されます。それ以外の場合、要求元の機能でクエリ文字列内の識別子が使用されます。 ブラウザーやデバイスで Cookie をサポートしているが、Cookie が現在無効になっている場合、要求元の機能で Cookie が引き続き使用されます。
3 UseDeviceProfile System.Web.Configuration.HttpCapabilitiesBase クラスCookies プロパティに基づいて Cookie を使用するかどうかが ASP.NET によって決まることを指定します。 ブラウザーやデバイスで Cookie をサポートすることが設定で示される場合、要求元の機能で Cookie が使用されます。それ以外の場合、要求元の機能でクエリ文字列内の識別子が使用されます。

次の表に、Protection プロパティとして使用できる値の一覧を示します。 既定値は 0 (All) です。

Value キーワード 説明
0 All Cookie を保護するためにアプリケーションでデータの検証と暗号化の両方が使用されることを指定します。 このオプションでは、MachineKeySection クラスで指定されたデータ検証アルゴリズムを使用します。 Triple Data Encryption Standard (Triple DES) が使用可能で、かつキーの長さが 48 バイト以上である場合、アプリケーションで暗号化に Triple DES が使用されます。 注: これは推奨される設定です。 Cookie の保護を強化するために、RequireSSL プロパティを true に設定することをお勧めします。
1 None 暗号化と検証を無効にすることを指定します。 この設定は、個人用設定にのみ Cookie を使用する、セキュリティ要件がそれほど高くないサイトを対象としています。 Cookie をこのような形で使用することはお勧めしませんが、.NET Framework を使って個人用設定を有効にする方法としては最もリソース消費が少なくて済みます。
2 Encryption Cookie を Triple DES または DES を使用して暗号化することを指定します。 この設定では、Cookie に対してデータの検証が実行されないため、プレーンテキスト セキュリティ攻撃の標的になります。
3 Validation 暗号化された Cookie のコンテンツが転送中に変更されていないかどうかを検証するのに、アプリケーションで検証スキームが使用されることを指定します。 この Cookie は、検証キーと Cookie データを連結し、メッセージ認証コード (MAC) を算出して、送出 Cookie に MAC を付加することで作成されます。

次の例は、既定の Web サイトのフォーム認証設定を示します。

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")  
  
' Get the authentication section.  
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")  
oSite.GetSection "AuthenticationSection", oAuthSection  
  
' Assign the Forms property to a variable.  
Set oFormsAuthConfig = oAuthSection.Forms  
  
' Display the Forms authentication settings.  
WScript.Echo "Forms Authentication Settings"  
WScript.Echo "-----------------------------"  
  
WScript.Echo "Cookieless: [ " & _  
    CookielessText(oFormsAuthConfig.Cookieless)& " ]"  
  
WScript.Echo "Default Url: [ " & _  
    oFormsAuthConfig.DefaultUrl& " ]"  
  
WScript.Echo "Domain: [ " & oFormsAuthConfig.Domain& " ]"  
  
WScript.Echo "EnableCrossAppRedirects: [ " & _  
    oFormsAuthConfig.EnableCrossAppRedirects& " ]"  
  
WScript.Echo "LoginUrl: [ " & _  
    oFormsAuthConfig.LoginUrl & " ]"  
  
WScript.Echo "Name: [ " & oFormsAuthConfig.Name& " ]"  
  
WScript.Echo "Path: [ " & oFormsAuthConfig.Path& " ]"  
  
WScript.Echo "Protection: [ " & _  
    ProtectionText(oFormsAuthConfig.Protection)& " ]"  
  
WScript.Echo "RequireSSL: [ " & _  
    oFormsAuthConfig.RequireSSL& " ]"  
  
WScript.Echo "SlidingExpiration: [ " & _  
    oFormsAuthConfig.SlidingExpiration& " ]"  
  
WScript.Echo "Timeout: [ " & oFormsAuthConfig.Timeout& " ]"  
  
' Call a sub to display the credentials information.  
DisplayCredentials(oFormsAuthConfig.Credentials)  
  
' Convert the Cookieless enumeration values to text.  
Function CookielessText(enumValue)  
    Select Case enumValue  
        Case 0  
            CookielessText = "UseUri"  
        Case 1  
            CookielessText = "UseCookies"  
        Case 2  
            CookielessText = "AutoDetect"  
        Case 3  
            CookielessText = "UseDeviceProfile"  
        Case Else  
            CookielessText = "Undefined enumeration value."  
    End Select  
End Function  
  
' Convert the Protection enumeration values to text.  
Function ProtectionText(enumValue)  
    Select Case enumValue  
        Case 0  
            ProtectionText = "All"  
        Case 1  
            ProtectionText = "None"  
        Case 2  
            ProtectionText = "Encryption"  
        Case 3  
            ProtectionText = "Validation"  
        Case Else  
            ProtectionText = "Undefined enumeration value."  
    End Select  
End Function  
  
' Display the Forms authentication credentials.  
Sub DisplayCredentials(FA_Credentials)  
    WScript.Echo vbCrLf & "Forms Authentication Credentials"  
    WScript.Echo "--------------------------------"  
  
    ' Display the password encryption format.  
    WScript.Echo "Password Format: " & _  
        PwdFormatText(FA_Credentials.PasswordFormat) & VbCrLf  
  
    ' Display the Forms authentication users and passwords.  
    For Each FormsAuthUser In FA_Credentials.Credentials  
        WScript.Echo "    Name: [ " & FormsAuthUser.Name & " ]"  
        WScript.Echo "Password: [ " & _  
            FormsAuthUser.Password& " ]"  
        WScript.Echo  
    Next  
End Sub  
  
' Convert the PasswordFormat enumeration values to text.  
Function PwdFormatText(enumValue)  
    Select Case enumValue  
        Case 0  
            PwdFormatText = "Clear"  
        Case 1  
            PwdFormatText = "SHA1"  
        Case 2  
            PwdFormatText = "MD5"  
        Case Else  
            PwdFormatText = "Undefined enumeration value."  
    End Select  
End Function  
  

継承階層

EmbeddedObject

FormsAuthenticationConfiguration

要件

説明
クライアント - Windows Vista 上の IIS 7.0
- Windows 7 上の IIS 7.5
- Windows 8 上の IIS 8.0
- Windows 10 上の IIS 10.0
[サーバー] - Windows Server 2008 上の IIS 7.0
- Windows Server 2008 R2 上の IIS 7.5
- Windows Server 2012 上の IIS 8.0
- Windows Server 2012 R2 上の IIS 8.5
- Windows Server 2016 上の IIS 10.0
Product - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0
MOF ファイル WebAdministration.mof

参照

System.Web.Configuration.AuthenticationModeSystem.Web.Configuration.FormsAuthenticationConfigurationSystem.Web.Configuration.HttpCapabilitiesBaseAuthenticationSection クラス
EmbeddedObject クラス
FormsAuthenticationCredentials クラス
FormsAuthenticationUser クラス
MachineKeySection クラス
複数のアプリケーションにわたるフォーム認証
CIM_DATETIME