AspNet.Identity角色管理

时间:2013-12-21 12:47:52

标签: c# asp.net asp.net-identity

我正在使用带有EF codefirst的Asp.net 4.5.1 webForm应用程序。用于身份验证我正在使用Microsoft.AspNet.Identity。在检查用户是否正确后,我想在登录页面中检查用户的角色。如果用户处于管理员角色,则将用户发送到管理员文件夹(页面),或者如果用户处于用户角色,则将用户发送到用户文件夹(页面)。如何检查用户是否处于Admin角色?

这是我的登录代码:

protected void btnLogin_Click(object sender, EventArgs e)
    {
        if (IsValid)
        {
            // Validate the user password
            var manager = new UserManager();
            ApplicationUser user = manager.Find(inputEmail.Text, inputPassword.Text);
            if (user != null)
            {
                IdentityHelper.SignIn(manager, user, false);

                if (//user is in admin role)
                {
                    Response.Redirect("UserPage");
                }
                else
                {
                    Response.Redirect("AdminPage");
                }


            }
            else
            {
                //Show error message that User is Incorrect
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

尝试使用UserManager.IsInRole(User.Identity.GetUserId(), "RoleName")

此外,请参阅:Understand IsInRole with character case

提示:尝试在Visual Studio中的“对象浏览器”(Ctrl + Alt + J)中浏览任何程序集。