1

Mysqlデータベースを使用するためにEntityFrameworkでasp.netmvc3アプリケーションのMembershipクラスを使用しようとしています。私はEFDbContextを使用しています。いくつかのスレッドに続いて、machine.configのMySQLMembershipProviderを次のように変更しました

<add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.4.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="book_shelfEntities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" autogenerateschema="true"/>

ここで、book_shelfEntitiesは接続文字列の名前です。

web.configのconnectionStringsは次のようになります

<connectionStrings>
    <add name="ApplicationServices" 
    connectionString="data source=.\SQLEXPRESS;Integrated  Security=SSPI;        AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
    <add name="book_shelfEntities" connectionString="metadata=res://*/Models.libs.csdl|res://*/Models.libs.ssdl|res://*/Models.libs.msl;provider=MySql.Data.MySqlClient;provider connection string='server=localhost;User Id=root;password=root;Persist Security Info=True;database=book_shelf'" providerName="System.Data.EntityClient" />
</connectionStrings>

web.configのメンバーシップは次のとおりです。

<membership defaultProvider="MySqlMembershipProvider">
    <providers>
    <clear />
        <add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.4.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="book_shelfEntities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="100" minRequiredPasswordLength="2" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
    </providers>
</membership>

ユーザー名とパスワードのフィールドを持つusersという名前のテーブルがあります。Membership.ValidateUser VS2010を使用しようとすると、エラーがスローされます

キーワードはサポートされていません。パラメーター名:メンバーシッププロバイダー名に対応するweb.configファイルのメタデータ

私はasp.netに非常に慣れていないので、問題を解決するのを手伝ってください(追加、編集などのために他のセクションでMysqlテーブルを使用できます)

4

0 に答える 0