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)
{
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With