我正在使用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>
线索:“theloggedinusersname”不等于至User.Identity.Name
。