Asp.net通用主要问题

时间:2010-10-04 11:44:21

标签: asp.net asp.net-mvc security forms-authentication

使用此代码进行身份验证:

HttpContext.Current.User=new GenericPrincipal
  (new GenericIdentity(user.UserName), roles);
FormsAuthentication.SetAuthCookie(user.UserName,false);

问题是 - 在下次请求时,HttpContext.Current.User.IsAuthenticatedtrue,但HttpContext.Current.User.IsInRole("admin")为假。

谷歌上有一个lot of info,但不管怎么说都没有任何帮助。

试图将此添加到我的web.config:

<system.web>
  <roleManager enabled="false" />
</system.web>

我不想使用会员提供者。

任何提示?

2 个答案:

答案 0 :(得分:1)

如果您使用表单身份验证,我认为您可能会尝试使用错误的身份。你可能最好使用FormsIdentity。

Article on Best Practices for Forms Authentication (might be outdated)

答案 1 :(得分:0)

看起来IsInRole方法在错误的界面上。尝试

HttpContext.Current.User.IsInRole("admin")