asp mvc 2角色和成员资格

时间:2011-01-29 17:10:53

标签: .net asp.net-mvc

我实现了自定义角色和memberip提供程序。 我有问题,当用户获得角色??? 我有类似的东西:

if (provider.ValidateUser(model.UserName, model.Password))
            {
            FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);
            }

有效。 但是,在某些控制器中,我使用:

if (!User.IsInRole("user"))
            return RedirectToAction("Index", "Home");

并且它总是错误的,就像用户没有任何角色一样。

最后,当用户获得此角色时,以及它们存储在哪里????

1 个答案:

答案 0 :(得分:2)

IsInRole方法查询role provider以确定当前登录的用户是否具有该角色。使用默认模板创建新的ASP.NET MVC应用程序时,它使用SQL角色提供程序,这意味着它将角色存储在数据库中。因此,当您创建新用户时,您可以为其分配角色,当您使用User.IsInRole时,它将查询数据库。这是一个blog post,详细介绍了这一点。