2.1.4.9 PasswordCompatMode
このプロパティは、パスワードの互換性モードを取得します。
宣言
// C# public string PasswordCompatMode {get;}
プロパティ値
string
備考
デフォルト値は、Framework20
です。他の指定可能な値は、Framework40
です。文字列値は、大/小文字が区別されます。
プロバイダをカスタマイズするために、ASP.NET開発者は、passwordCompatMode
属性を使用してweb.config
ファイルでこのプロパティに文字列値を設定できます。
passwordFormat
属性がHashed
に設定されると、ユーザーの作成と検証のときに、System.Web.Security.Membership.HashAlgorithmType
プロパティの値は、メンバーシップ・ユーザーのパスワードのハッシュ化に使用されます。
HashAlgorithmType
プロパティの値は、大/小文字が区別される属性hashAlgorithmType
を介してweb.config
ファイルに設定できます。次に例を示します。
<membership defaultProvider="OracleMembershipProvider" hashAlgorithmType="SHA1"/>
hashAlgorithmType
属性がweb.config
ファイルに指定されていないと、SHA1
が使用されます。.NET Framework 2.0の場合、hashAlgorithmType
の他の有効な値はMD5
です。
.NET Framework 4では、既存のメンバーシップ・ユーザーが存在しない新しいアプリケーションで、SHA
およびHMACSHA
ハッシュ・アルゴリズム・タイプの他の有効なバージョンを使用する場合、passwordCompatMode
属性はFramework40
に設定する必要があり、hashAlgorithmType
属性は適切なタイプ(SHA256
、HMACSHA256
、HMACSHA384
、HMACSHA512
など)に設定する必要があります。ただし、passwordCompatMode
をFramework40
に設定した場合、SHA1
およびMD5
は引き続きサポートされます。
例
次のweb.config
の例では、hashAlgorithmType
がHMACSHA25
に、passwordCompatMode
がFramework40
に設定されます。
<!-- Enable and customize OracleMembershipProvider settings --> <membership defaultProvider="MyOracleMembershipProvider" hashAlgorithmType="HMACSHA256"> <providers> <add name="MyOracleMembershipProvider" type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" ConnectionStringName="my_membership_app_con_string" applicationName="my_membership_app" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="4" minRequiredPasswordLength="9" passwordCompatMode="Framework40" passwordAttemptWindow="8"/> </providers> </membership>
あるhashAlgorithmType
を使用してメンバーシップ・ユーザーを作成したら、同じhashAlgorithmType
を使用してユーザーを検証する必要があります。hashAlgorithmType
が変更されると、そのユーザーの検証は成功しません。このため、特定のアプリケーションでその存続期間中は、同じhashAlgorithmType
を使用する必要があります。