1

https://github.com/rustd/AspnetIdentitySampleにあるサンプルを使用して、カスタム ユーザー プロファイル データを作成しました。

ただし、サインアップ時に新しく登録されたユーザーにロールを割り当てる方法がわかりません。.net 4.5 Claims ベースのロールを使用しているようです。また、Code First - migrations を使用し、Roles、UserRoles などの必要なメンバーシップ テーブルを作成します。

Roles テーブルに新しいロールを追加し、このロールを UserRoles テーブルへのエントリを持つ新しいユーザーに割り当てようとしています。

助けていただければ幸いです。

4

3 に答える 3

0

IdentityConfig.Roles.AddUserToRole をお試しください。ロールが DefaultConnection の Role テーブルにあることを確認してください。今年の夏の BUILD の直前に、彼らがそのカンファレンスでリリースしたデモに取り組んでいると思いますか? Andrey の答えは、Web 構成ユーティリティを使用した古いメンバーシップ システムに依存していると思いますか?

于 2013-09-06T16:29:58.083 に答える
0

たとえば、ロールを作成してそれに新しいユーザーを追加する場合は、Register メソッドを次のように変更できます。

[HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
                    WebSecurity.Login(model.UserName, model.Password);

                        Roles.CreateRole("Role A");// add "Role A"
                        Roles.AddUserToRole(model.UserName, "Role A"); // user in role A 


                    return RedirectToAction("Index", "Home");
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                }
            }
            return View(model);
        }
于 2013-08-16T20:41:02.773 に答える