[解決済み] MVC 5 シードユーザーとロール
2023-01-09 12:18:55
質問
私は新しいMVC 5で遊んでいます。私はいくつかのモデル、コントローラ、ビューをコードファーストマイグレーションを使ってセットアップしています。
私の質問は、ユーザーとロールをどのようにシードするかということです。私は現在、Configuration.cs の Seed メソッドでいくつかの参照データをシードしています。しかし、私には、何かが最初に AccountController に当たるまで、ユーザーとロールのテーブルが作成されないように見えます。
私は現在、2つの接続文字列を持っているので、認証からデータを異なるデータベースに分離することができます。
どのようにしたら、user、rolesなどのテーブルを他のテーブルと一緒に入力させることができますか?アカウントコントローラーがヒットしたときではなく?
どのように解決するのですか?
通常のSeedのアプローチ例です。
protected override void Seed(SecurityModule.DataContexts.IdentityDb context)
{
if (!context.Roles.Any(r => r.Name == "AppAdmin"))
{
var store = new RoleStore<IdentityRole>(context);
var manager = new RoleManager<IdentityRole>(store);
var role = new IdentityRole { Name = "AppAdmin" };
manager.Create(role);
}
if (!context.Users.Any(u => u.UserName == "founder"))
{
var store = new UserStore<ApplicationUser>(context);
var manager = new UserManager<ApplicationUser>(store);
var user = new ApplicationUser {UserName = "founder"};
manager.Create(user, "ChangeItAsap!");
manager.AddToRole(user.Id, "AppAdmin");
}
}
package-manager "update-database"を使ってみました。DBとすべてのテーブルが作成され、データでシードされました。
関連
-
[解決済み】Automapperにタイプマップの設定がない、またはマッピングがサポートされていない - エラー
-
[解決済み] EntityType 'IdentityUserLogin' にはキーが定義されていません。この EntityType のキーを定義してください。
-
[解決済み] コントローラ '...' でパブリックアクションメソッド '...' が見つかりませんでした。
-
[解決済み] ファイルアップロード ASP.NET MVC 3.0
-
[解決済み】認証や認可に失敗した場合、AuthorizeAttributeがログインページにリダイレクトされるのはなぜですか?
-
[解決済み】ViewModelのベストプラクティス
-
[解決済み】Html.ActionLinkを使用して別のコントローラのアクションを呼び出す
-
[解決済み] MVCとRazorにおけるHtml.TextboxForとHtml.EditorForの相違点
-
[解決済み] Razorを使ってエンコードされていないJsonをViewに書き込むにはどうしたらいいですか?
-
[解決済み] エリア間のRedirectToAction?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Razor View Engine : 式ツリーには、動的な操作を含めることができません。
-
[解決済み] System.Web.HttpException (0x80004005)。リクエストの最大長を超えました
-
[解決済み] RedirectToActionのパラメータとしてmodelを渡すことはできますか?
-
[解決済み] Visual Studioのデバッグ/ロードが非常に遅い
-
[解決済み】TextBoxFor()からは日付のみ。)
-
[解決済み】サービスは常にDTOを返すべきですか、それともドメインモデルも返すことができますか?
-
[解決済み】ASP.NET MVCのルートをサブドメインに基づいて作成することは可能ですか?
-
[解決済み】cshtmlテンプレートで関数を作成する方法は?
-
[解決済み] X-SourceFilesヘッダーは何をするものですか?
-
[解決済み] 型名または名前空間名 'DbContext' が見つかりませんでした [閉鎖]。