开发者

User.IsInRole returning false

My ASP.NET app is using windows authentication. If I run the following code:

WindowsIdentity wi = (WindowsIdentity)User.Identity;

foreach (IdentityReference r in wi.Groups开发者_Python百科)
{
    ListBox1.Items.Add(r.Translate (typeof (NTAccount)).Value);
}

if (User.IsInRole ("Everyone"))
    Label1.Text = "Is in role";

The listbox will contain the name of every group the user belongs to. If I then call User.IsInRole, and pass in the name of any of those groups, I always get a false.

Can anyone tell me what I am doing wrong?

Thanks


We need to see your web.config. How are roles handled? Is the role manager even enabled?

EDIT:
You need to use this format:

User.IsInRole(@"DOMAINNAME\rolename")

You are leaving off the domain name. If that still doesn't work, make sure you've got your role provider set in web.config:

<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"/>

This information comes straight from MSDN. Look at the "Checking Role Membership in Code" section. It's all there.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜