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。