このプロパティは、パスワードの互換性モードを取得します。
宣言
// 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を使用する必要があります。