Roles.GetRolesForUser()返回空数组

Aar*_*zar 5 .net c# asp.net-roles asp.net-mvc-3

我正在使用Roles.GetRolesForUser(),当我打电话给我时{string[0]}。但是,当我输入用户名作为像这样的硬编码字符串时Roles.GetRolesForUser("theloggedinusersname"),,我得到{string[2]} [0]: "AccountingAdmin" [1]: "Admin"。作为记录,我还获得了Roles.IsUserInRole和的值User.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>
Run Code Online (Sandbox Code Playgroud)

线索:“theloggedinusersname”是不等于User.Identity.Name