C# Roles.GetRolesForUser()返回空数组
我使用的是C# Roles.GetRolesForUser()返回空数组,c#,.net,asp.net-mvc-3,asp.net-roles,C#,.net,Asp.net Mvc 3,Asp.net Roles,我使用的是Roles.GetRolesForUser(),当我调用它时,我得到{string[0]}。但是,当我以硬编码字符串的形式键入用户名时,例如:Roles.GetRolesForUser(“theloggedinusersname”),我会得到{string[2]}[0]:“AccountingAdmin”[1]:“Admin”。作为记录,我还获取了角色.IsUserInRole和用户.Identity的值 下面是我如何设置Web.config的: <roleManager ena
Roles.GetRolesForUser()
,当我调用它时,我得到{string[0]}
。但是,当我以硬编码字符串的形式键入用户名时,例如:Roles.GetRolesForUser(“theloggedinusersname”)
,我会得到{string[2]}[0]:“AccountingAdmin”[1]:“Admin”
。作为记录,我还获取了角色.IsUserInRole
和用户.Identity
的值
下面是我如何设置Web.config的:
<roleManager enabled="true" defaultProvider="DefaultRoleProvider">
<providers>
<clear/>
<add connectionStringName="DefaultConnection"
applicationName="[MyAppName]"
name="DefaultRoleProvider"
type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=[MyPublicKeyToken]" />
</providers>
</roleManager>
提示:“LoggedInUsersName”不等于
User.Identity.Name角色的结果是什么Roles.GetRolesForUser(User.Identity.Name)
?尝试查看角色的结果。GetRolesForUser(User.Identity.Name)
是{string[0]}
看起来像是“LoggedInUsersName”不等于User.Identity.Name
User.Identity.Name是否正确?User.Identity.Name是否等于'theloggedinusersname'(登录用户)?我这样问是因为GetRolesForUser使用HttpContext.User作为参数调用GetRolesForUser。