0

よく検索しましたが、問題を解決する方法が見つかりません。CMS システムにログインするための asp:Login コントロールがあります。1週間はお守りとして機能しましたが、突然ログオンできなくなりました。これは、同じマシン、同じデータベースで発生しています。

新しいユーザー、新しい役割、すべてを新しくしましたが、常に「ログイン試行に失敗しました。もう一度やり直してください」と書かれています。

次に、ここで説明されている4guysFromRollaと debuggedのように、LoginError イベントを処理しようとしましたが、IsLockedOut() または IsApproved() で停止しません。データベース テーブルでも、メンバーシップはすべて IsLockedOut が false に設定され、すべての IsApproved が true に設定されています。

これは web.config セクションです

<compilation debug="true">
<authentication mode="Forms" />
<machineKey decryption="AES" validation="SHA1" decryptionKey="1513F567EE75F7FB5AC0AC4D79E1D9F25430E3E2F1BCDD3370BCFC4EFC97A541" validationKey="32CBA563F26041EE5B5FE9581076C40618DCC1218F5F447634EDE8624508A129"/>
<membership defaultProvider="SimpleCMSSqlMembershipProvider">
  <providers>
    <add name="SimpleCMSSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
      connectionStringName="SimpleCMS1ConnectionString"
      enablePasswordRetrieval="false"
      enablePasswordReset="true"
      requiresQuestionAndAnswer="true"
      applicationName="/"
      requiresUniqueEmail="false"
      passwordFormat="Hashed"
      maxInvalidPasswordAttempts="5"
      minRequiredPasswordLength="5"
      minRequiredNonalphanumericCharacters="0"
      passwordAttemptWindow="10"
      passwordStrengthRegularExpression=""/>
  </providers>
</membership>

 <connectionStrings>
     <add name="SimpleCMS1ConnectionString" connectionString="Data Source=CENE\SQLEXPRESS;Initial   Catalog=SimpleCMS1;Persist Security Info=True;User ID=SimpleCMSUser;Password="aaaaaa"
       providerName="System.Data.SqlClient" />
     <add name="SimpleCMS1ConnectionString1" connectionString="Data Source=CENE\SQLEXPRESS;Initial Catalog=SimpleCMS1;User ID=sa;Password=aaaaaaaa"
      providerName="System.Data.SqlClient" />
  </connectionStrings>

<roleManager enabled="true">
  <providers>
    <clear />
    <add connectionStringName="SimpleCMS1ConnectionString" applicationName="/"
      name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </providers>
</roleManager>

アドバイスありますか、ありがとう

4

1 に答える 1

0

<authentication mode="Forms" />認証設定にこの行のみを使用する場合、これがおそらく問題です。次のようなものが必要です。

<authentication mode="Forms">
  <forms name=".klidi" loginUrl="~/login.aspx" protection="All" 
         timeout="10" path="/" requireSSL="true" 
         cookieless="UseCookies" 
         domain="yourdomain.com" enableCrossAppRedirects="false" slidingExpiration="true" />
</authentication>

ランダムに動作させるのではなく、パラメータを設定してください。

requireSSL="true"パラメータについては、この質問を読んでください。ハッカーはユーザーから Cookie を盗み、Web サイトでその名前でログインできますか? . true のままにする場合は、必ず ssl ページを使用してください。そうしないと、ログインは常に失敗します。

于 2013-02-02T19:15:34.683 に答える