如何在登录后立即检查/分配用户的角色?

时间:2011-08-07 20:03:33

标签: asp.net asp.net-mvc-2

对于我的应用程序,当用户登录时,我需要检查他们是否分配了任何角色,以及他们是否没有为他们分配基本角色。同样基于他们的角色,我必须将他们重定向到某些页面。但我无法在登录时找到检查/设置用户角色的方法。

    [HttpPost]
    public ActionResult LogOn(LogOnModel model, string returnUrl)
    {
        if (ModelState.IsValid)
              {
               if (MembershipService.ValidateUser(model.UserName, model.Password))
                 {
                      FormsService.SignIn(model.UserName, model.RememberMe);
                     if(User.IsInRole("User")) 
//This won't work becauser User is not populated yet. It will be populated only on next request for some reason that has to do with setting cookies
    }

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

有这样的事情吗?

if(User.IsInRole(model.UserName, "User")) 

答案 1 :(得分:0)

显然Roles.IsUserInRole方法允许将字符串作为用户名传递,因此可以在不调用User对象的情况下检查用户成员资格。