0

これは本当に奇妙ですが、もともと Visual Studio 2008 の Web フォーム アプリケーションを .Net 4 にアップグレードしましたが、IDE は Visual Studio 2012 です。

私のメンバーシップ システムは、アップグレード前はうまく機能していましたが、現在は完全に壊れています。

ログイン コントロール、ログイン、パスワードの回復、アカウント フォルダーへの登録を実際に再作成しました。web.config のログイン パスへの参照を変更しました。

また、Asp.net 構成ページをチェックして、自分のユーザーが表示されているかどうかを確認しました。ただし、ログインしようとすると、失敗が報告されます。ユーザー名が正しいことを確認し、何らかの理由でパスワードが変更された場合に備えて、パスワード回復フォームを使用してみました.

パスワード回復フォームは、ユーザー名が見つからないことを報告します。構成とデータベースの両方で、ユーザー名 (電子メール アドレス) が正しいことを 3 回確認しました。それはそこにあり、正しいスペルです。

何が起こっている???

ありがとう

<configuration>
  <appSettings>
    <add key="FolderPath" value="xCellFiles/" />
    <add key="aspnet:MaxHttpCollectionKeys" value="2000" />
  </appSettings>
  <connectionStrings>
    <clear />
    <add name="SalonConnectionString" connectionString="Data Source=76.71.167.122;Initial Catalog=databasename;User Id=id;Password=Password" providerName="System.Data.SqlClient" />
    <add name="Excel03ConString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}; Extended Properties='Excel 8.0;HDR={1}'" />
    <add name="Excel07ConString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties='Excel 8.0;HDR={1}'" />
  </connectionStrings>
  <system.web>
    <healthMonitoring enabled="true">
      <eventMappings>
        <clear />
        <!-- Log ALL error events -->
        <add name="All Errors" type="System.Web.Management.WebBaseErrorEvent" startEventCode="0" endEventCode="2147483647" />
        <!-- Log application startup/shutdown events -->
        <add name="Application Events" type="System.Web.Management.WebApplicationLifetimeEvent" startEventCode="0" endEventCode="2147483647" />
      </eventMappings>
      <providers>
        <clear />
        <!-- Provide any customized SqlWebEventProvider information here (such as a different connection string name value -->
        <add connectionStringName="SalonConnectionString" maxEventDetailsLength="1073741823" buffer="false" name="SqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider" />
      </providers>
      <rules>
        <clear />
        <add name="All Errors Default" eventName="All Errors" provider="SqlWebEventProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:00:00" />
        <add name="Application Events Default" eventName="Application Events" provider="SqlWebEventProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:00:00" />
      </rules>
    </healthMonitoring>
    <!-- reduces size of http response (removes x-aspnet-version) -->
    <httpRuntime enableVersionHeader="false" />
    <trust level="Full" />
    <!--
            Set compilation debug="true" to insert debugging
            symbols into the compiled page. Because this
            affects performance, set this value to true only
            during development.

            Visual Basic options:
            Set strict="true" to disallow all data type conversions
            where data loss can occur.
            Set explicit="true" to force declaration of all variables.
        -->
    <compilation debug="true" strict="false" explicit="true">
      <assemblies>
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Data.Services.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
      </assemblies>
    </compilation>
    <pages>
      <namespaces>
        <clear />
        <add namespace="System" />
        <add namespace="System.Collections" />
        <add namespace="System.Collections.Generic" />
        <add namespace="System.Collections.Specialized" />
        <add namespace="System.Configuration" />
        <add namespace="System.Text" />
        <add namespace="System.Text.RegularExpressions" />
        <add namespace="System.Web" />
        <add namespace="System.Web.Caching" />
        <add namespace="System.Web.SessionState" />
        <add namespace="System.Web.Security" />
        <add namespace="System.Web.Profile" />
        <add namespace="System.Web.UI" />
        <add namespace="System.Web.UI.WebControls" />
        <add namespace="System.Web.UI.WebControls.WebParts" />
        <add namespace="System.Web.UI.HtmlControls" />
      </namespaces>
      <controls>
        <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
      </controls>
    </pages>
    <!--<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />-->
    <!-- Gets and sets the amount of time, in minutes, allowed between requests before the session-state provider terminates the session.
    Default is 20 minute.
    -->
    <sessionState mode="InProc" cookieless="AutoDetect" timeout="900" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" enableCrossAppRedirects="true" slidingExpiration="true" cookieless="AutoDetect" timeout="900" defaultUrl="/Stylist/Redirecting.aspx" name=".ASPXAUTH" />
    </authentication>
    <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
      <providers>
        <add name="XmlSiteMapProvider" description="SiteMap provider which reads in .sitemap XML files." type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile="Web.sitemap" securityTrimmingEnabled="true" />
      </providers>
    </siteMap>
    <!--
            The <authentication> section enables configuration
            of the security authentication mode used by
            ASP.NET to identify an incoming user.
        -->
    <!--
            The <customErrors> section enables configuration
            of what to do if/when an unhandled error occurs
            during the execution of a request. Specifically,
            it enables developers to configure html error pages
            to be displayed in place of a error stack trace.
            <customErrors mode="On" defaultRedirect="ErrorPage.aspx">
    <error statusCode="404" redirect="LoginReg.aspx" />
</customErrors>
   -->
    <customErrors defaultRedirect="~/GeneralErrorPage.aspx" mode="Off">
    </customErrors>
    <trace enabled="false" requestLimit="15" pageOutput="false" traceMode="SortByTime" localOnly="true" />
    <membership defaultProvider="SalonSqlMembershipProvider">
      <providers>
        <clear />
        <add name="SalonSqlMembershipProvider"
             type="System.Web.Security.SqlMembershipProvider"
             connectionStringName="SalonConnectionString"
             enablePasswordRetrieval="false" enablePasswordReset="true"
             requiresQuestionAndAnswer="true" applicationName="/Service2020"
             requiresUniqueEmail="false" passwordFormat="Hashed"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6"
             minRequiredNonalphanumericCharacters="0"
             passwordAttemptWindow="10" passwordStrengthRegularExpression="^.*(?=.{6,})(?=.*\d).*$" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="SalonNetRoleProvider">
      <providers>
        <clear />
        <add name="SalonNetRoleProvider" connectionStringName="SalonConnectionString" applicationName="/Service2020" type="System.Web.Security.SqlRoleProvider,                           &#xA;             System.Web,&#xA;                                             Version=2.0.0.0,&#xA;                                             &#xA;                                       Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      </providers>
    </roleManager>
  </system.web>
  <location path="ChangePassword.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
  <location path="PasswordRecovery.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
  <system.net>
    <mailSettings>
      <smtp from="mail@address.com">
        <network host="mail.address.com" password="password" userName="mail@address.com" />
      </smtp>
    </mailSettings>
  </system.net>
  <!--
        The system.webServer section is required for running ASP.NET AJAX under Internet
        Information Services 7.0.  It is not necessary for previous version of IIS.
    -->
  <!--<system.web.extensions>
      <scripting>
         <webServices>
            <authenticationService enabled="true" />
         </webServices>
      </scripting>
   </system.web.extensions>-->
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <!--<httpErrors errorMode="Custom">
      <remove statusCode="404" />
      <error statusCode="404" path="UnauthorizedAccess.aspx" responseMode="Redirect" />
    </httpErrors>-->
    <modules runAllManagedModulesForAllRequests="true" />
    <handlers>
      <remove name="UrlRoutingHandler" />
    </handlers>
    <!--<staticContent> when getting ready to beta include in release
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
    </staticContent>-->
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
    </staticContent>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="AjaxControlToolkit" publicKeyToken="28f01b0e84b6d53e" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.5.7.123" newVersion="3.5.7.123" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>  
4

1 に答える 1

0

次のマイクロソフトのリンクによると

ハッシュアルゴリズム

http://www.asp.net/whitepapers/aspnet4/breaking-changes#0.1__Toc256770148 

ルート構成

http://www.asp.net/whitepapers/aspnet4/breaking-changes#0.1__Toc256770149

メイン ドキュメント リンク

http://www.asp.net/whitepapers/aspnet4/breaking-changes

どの SP をインストールしたかは、問題を解決するためのルートを決定する可能性があるため、非常に重要です。また、 KB958854修正プログラムがインストールされているかどうかを確認する必要があります。これは、[プログラムの追加と削除] リストで確認できます (インストールされている更新プログラムを表示 - そのウィンドウの左上)。

また、簡単なテストとして (最初に)、次の要素を構成ファイルの SYSTEM.WEB セクションに追加することもできます。

<machineKey validation="SHA1" />

これにより、ハッシュアルゴリズムが古い形式の HMACSHA1 に戻ります。HMACSHA256 である新しいアルゴリズムではありません。これで問題が解決した場合は問題ありませんが、そうでない場合は単純に要素を再度削除します。

于 2013-04-30T17:41:54.937 に答える