5

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

4

0 回答 0