3

asp.net メンバーシップを使用するアプリケーションがあります。残念ながら、ユーザーのパスワードは PasswordFormat clear を使用して保存されます。ユーザーにパスワードを再設定するように求めることなく、パスワードをハッシュ形式に変更したい。もう 1 つの制限は、Membership テーブルの UserId を変更できないことです。誰もそれを行う方法を知っていますか?

4

2 に答える 2

2

あなたのweb.configで

<membership defaultProvider="MyMembershipProvider">
   <providers>
     <clear/>
     <add name="MyMembershipProvider"
          type="MyProviders.SqlMembershipProvider"
          connectionStringName="MyConnectionString"  
          maxInvalidPasswordAttempts="5"             
          passwordAttemptWindow="10"
          minRequiredNonalphanumericCharacters="0"
          minRequiredPasswordLength="4"
          passwordStrengthRegularExpression=""
          passwordFormat="Hashed"
          enablePasswordReset="true"
          enablePasswordRetrieval="false"             
          requiresQuestionAndAnswer="false"
          requiresUniqueEmail="true" />
   </providers>
 </membership>

そして、このMSDN記事に「キー ジェネレーター」スニペットがあり、それを 2 回実行して、web.config に次のように押し込みます。

<system.web>
    <machineKey  
    validationKey="<blah>"           
    decryptionKey="<blah>"
    validation="SHA1"
    decryption="AES"
    />
</system.web>
于 2012-04-06T08:13:20.117 に答える
2

web.config でメンバーシップ プロバイダーの設定とキーを構成することにより、パスワードを暗号化できます。

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="true"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0"
passwordStrengthRegularExpression="^([1-zA-Z0-1@.\s]{1,255})$"
applicationName="NitinJS" />
</providers>
</membership>
于 2012-04-06T07:27:29.807 に答える