SimpleMembership を使用してユーザーを認証する MVC4 アプリケーションがあります。
コンソール プログラムからユーザーを追加したい。
ユーザー作成を行うメソッドを持つクラス ライブラリを参照するコンソール プログラム。
次のようになります。
public class UserBuilder
{
private static readonly SimpleMembershipInitializer _membershipInitializer;
private static readonly bool _isInitialized;
private static readonly object _initializerLock = new object();
static UserBuilder()
{
LazyInitializer.EnsureInitialized(ref _membershipInitializer, ref _isInitialized, ref _initializerLock);
}
public void HandleEvent(UserAdded @event)
{
if (!WebSecurity.UserExists("ReportModels"))
{
WebSecurity.CreateUserAndAccount("ReportModels", "ReportModels");
};
}
private class SimpleMembershipInitializer
{
public SimpleMembershipInitializer()
{
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
}
}
}
コンソール アプリケーションを起動するSystem.Configuration.Provider.ProviderException {"The Role Manager feature has not been enabled."}
と、 で始まる行が表示されWebSecurity.InitializeDatabaseConnection
ます。
これを達成するために何をする必要がありますか?
私はもう試した:
- nuget パッケージ Microsoft ASP.NET Web Pages 2 Web Data をコンソール プロジェクトとクラス ライブラリ プロジェクトの両方に追加します。
- この投稿にリストされている回答: SimpleMembershipProvider not working .
- 接続文字列を確認しました。
- テーブルがデータベースに配置されていることを確認しました。
- ユーザーの作成と MVC4 プロジェクトからの認証が機能することを確認しました。