我正在使用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