对于我的应用程序,当用户登录时,我需要检查他们是否分配了任何角色,以及他们是否没有为他们分配基本角色。同样基于他们的角色,我必须将他们重定向到某些页面。但我无法在登录时找到检查/设置用户角色的方法。
[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
}
任何想法如何解决这个问题?
答案 0 :(得分:0)
有这样的事情吗?
if(User.IsInRole(model.UserName, "User"))
答案 1 :(得分:0)
显然Roles.IsUserInRole
方法允许将字符串作为用户名传递,因此可以在不调用User对象的情况下检查用户成员资格。