0

asp.net mvc3アプリケーションでユーザーに役割を割り当てるにはどうすればよいですか?

私は以下をやってみました

   public ActionResult Login(LoginModel model)
    {
        if (ModelState.IsValid)
        {
            if (model.user_id == "admin" && model.password == "admin")
            {
                 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                                                    1,
                                                    "admin",
                                                    DateTime.Now,
                                                    DateTime.Now.AddMinutes(30),
                                                    false,
                                                    "admin",
                                                    FormsAuthentication.FormsCookiePath);


                return JavaScript("window.location.replace('/Home/');");
            }

            else
            {
                return Content("Invalid User Id or Password.");
            }
        }
        else
        {
            return View(model);
        }
    }

これで、任意のビューでユーザーロールを取得しようとすると、管理者としてのロールが得られません。ログイン後に役割を割り当てるにはどうすればよいですか?

4

1 に答える 1

0

ビューのユーザー ロールにアクセスする理由は何ですか? これを行うべきではありません。特定のニーズがある場合は、データベースからロールをフェッチした後、ロールをモデルに保存して、モデル プロパティを介してビュー内のロールを読み取ることができるようにします。

モデルを変更したくない場合は、プロパティを ViewBag に追加することもできます。たとえば、ViewBag.UserRoles = "admin";

私が気付いたもう 1 つのことは、プリンシパル オブジェクトを作成して HttpContext.User に割り当てていないため、それに基づいて承認を実行できることです。

于 2013-02-02T07:26:17.823 に答える