【问题标题】:Asp.net membership password formatAsp.net 会员密码格式
【发布时间】:2012-04-06 07:20:46
【问题描述】:

我有使用 asp.net 成员资格的应用程序。不幸的是,用户密码是使用 PasswordFormat clear 存储的。我想将密码更改为哈希格式而不要求用户再次设置他们的密码。另一个限制是不能更改 Membership 表中的 UserId。有人知道怎么做吗?

【问题讨论】:

    标签: asp.net asp.net-membership membership-provider


    【解决方案1】:

    在您的 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 文章中有一个“密钥生成器”sn-p,运行两次并将它们推送到您的 web.config 中:

    <system.web>
        <machineKey  
        validationKey="<blah>"           
        decryptionKey="<blah>"
        validation="SHA1"
        decryption="AES"
        />
    </system.web>
    

    【讨论】:

      【解决方案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>
      

      【讨论】:

      • 但我需要对密码格式进行散列而不是加密。我需要获取盐和哈希密码而不是清除密码。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 2010-12-27
      相关资源
      最近更新 更多