1

最近、ASP.NETMVC4が従来のASP.NETメンバーシッププロバイダーではなくSimpleMembershipを使用していることを発見しました。

SimpleMembershipの使用を検討していますが、SQL Server Expressデータベースも使用したいと考えています(後で「実際の」SQL Serverデータベースを使用します)。

私はaspnet_regsqlを使用してアプリケーションサービス用のSQLサーバーデータベースをセットアップし、必要なメンバーシップテーブルを挿入することに慣れています。

ただし、このアプリケーションは、SimpleMembershipで動作するようにDBをセットアップしません。

誰かがこれを行う方法を教えてもらえますか?

4

2 に答える 2

1

WebSecurity.InitializeDatabaseConnectionのコード行をコメントアウトする必要があります(そうしないと、ログインフォームに初めてアクセスしたときに、アプリケーションは定義されたweb.config接続文字列に単純なメンバーシップテーブルを作成しようとします)。

次に、選択したメンバーシッププロバイダーを反映するために、simpleMembershipで使用するために記述されているため、アカウントコントローラーコードを更新する必要があります。

最近、MVC3プロジェクトを作成し、それをMVC4にアップグレードすることでこれを行いました(mvc3をmvc4にアップグレードする方法のセクションを参照してください)。最もクリーンではありませんが、アカウントコントローラーのコードを更新する必要がなくなりました。

于 2012-11-29T16:30:04.933 に答える
1

「Filters」フォルダーにあるInitializeSimpleMembershipAttributeを調べることをお勧めします

データベースを初期化するコマンドがあります。テーブルがすでに作成されている場合は、それ自体をチェックします。

WebSecurity.InitializeDatabaseConnection("connStringName", "UserProfile", "UserId", "UserName", autoCreateTables: true);

表は次のとおりです。

  • UserProfile =>私の場合、初期化子のため
  • webpages_OAuthMembership
  • webpages_Membership
  • webpages_OAuthToken
  • webpages_Roles
  • webpages_UsersInRoles

aspnetwebstackプロジェクトのソースコードを確認できます

于 2012-11-08T12:34:17.110 に答える