私は使用して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。