0

私のアプリケーションはASP.NETメンバーシッププロバイダーを使用しています。正しく構成し、構成ファイルでパスワード形式を指定した後も、ユーザーのパスワードはハッシュ値ではなくプレーンテキストで保存されます。
私は何が間違っているのですか?
これが私のwebcongfigurationfileです

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="db_connection" providerName="System.Data.SqlClient" connectionString="Data Source=192.168.11.10;Integrated Security=true;Initial Catalog=TestDB;User ID=sysad;Password=abc@123_ec"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<pages>
  <namespaces>
    <add namespace="System.Web.Optimization" />
  </namespaces>
  <controls>
    <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
    <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
    <add assembly="JuiceUI" namespace="Juice" tagPrefix="juice" />
  </controls>
</pages>
<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="25" />
</authentication>





<membership defaultProvider="Myprovider">
  <providers>
    <add name="Myprovider"
    type="System.Web.Security.SqlMembershipProvider"
    passwordFormat="Hashed"
    connectionStringName="db_connection"
    enablePasswordRetrieval="false"
    enablePasswordReset="true"
    requiresQuestionAndAnswer="false"
     requiresUniqueEmail="false"
     maxInvalidPasswordAttempts="3"
     minRequiredPasswordLength="7"
     minRequiredNonalphanumericCharacters="1"
     passwordAttemptWindow="10"
     applicationName="" />
  </providers>
</membership>



 </system.web>


</configuration>
4

2 に答える 2

0

認証タグの machinekey タグが不完全に欠落しているように見えます。次のリンクを読んで、どうなるか教えてください。私は自分のサイトで同様の問題を抱えていましたが、これらのチュートリアルに従うことは魅力的でした.

http://www.asp.net/web-forms/tutorials/security/introduction/forms-authentication-configuration-and-advanced-topics-vb

もっと詳しく説明しますが、ランチタイムなので自由にどうぞ :) がんばってください。


編集: 認証タグに関して私が言ったことを削除しました。Machinekey タグが欠落しているということです。それを作成するための指示は、認証タグのチュートリアルと同じページにあり、私はそれらを混同しました.

必要なコードは次のとおりです。

<configuration>

 <system.web>

 ... Some markup was removed for brevity ...

 <machineKey

 decryption="AES"

 validation="SHA1"

 decryptionKey="1513F567EE75F7FB5AC0AC4D79E1D9F25430E3E2F1BCDD3370BCFC4EFC97A541"

 validationKey="32CBA563F26041EE5B5FE9581076C40618DCC1218F5F447634EDE8624508A129"

 />

 </system.web>

</configuration>

そこにリストされているキーはチュートリアル サイトから取得したものですが、独自に生成する必要があります。それらは、数少ない一般的なランダム キー ジェネレーターの 1 つを使用して生成できます。Steve Gibson のPerfect Passwords Web Pageを使用することをお勧めします。

于 2012-12-28T17:21:33.233 に答える
0

注:私はこれに取り組んでいません。

http://msdn.microsoft.com/en-us/library/wfdhbte0.aspxを見てHashAlgorithmTypeください。

メンバーシップの機密情報に使用される暗号化の種類を取得または設定します。

<membership defaultProvider="Myprovider" hashAlgorithmType="someValue">
「somevalue」はSHA1またはMD5です。

申し訳ありませんが、これについてはあまりお手伝いできません。これは、MSDN ドキュメントの参照に基づいています。

于 2012-12-28T15:13:27.680 に答える