使用此代码进行身份验证:
HttpContext.Current.User=new GenericPrincipal
(new GenericIdentity(user.UserName), roles);
FormsAuthentication.SetAuthCookie(user.UserName,false);
问题是 - 在下次请求时,HttpContext.Current.User.IsAuthenticated
为true
,但HttpContext.Current.User.IsInRole("admin")
为假。
谷歌上有一个lot of info,但不管怎么说都没有任何帮助。
试图将此添加到我的web.config:
<system.web>
<roleManager enabled="false" />
</system.web>
我不想使用会员提供者。
任何提示?
答案 0 :(得分:1)
如果您使用表单身份验证,我认为您可能会尝试使用错误的身份。你可能最好使用FormsIdentity。
Article on Best Practices for Forms Authentication (might be outdated)
答案 1 :(得分:0)
看起来IsInRole方法在错误的界面上。尝试
HttpContext.Current.User.IsInRole("admin")