できるようになりたい
ユーザーが特定の役割を果たしているかどうかを確認する方法はありますが、どの役割に参加しているかは関係ありません。データベースは、どのロールがどのデータを表示できるかを認識します。これらの役割に基づいてデータをフィルタリングするには、これらの役割のコレクションをデータサービスに送信する必要があります。
では、最初のステップは、コントローラーメソッドで現在のユーザーに関連付けられているすべてのロールを取得する方法です。
編集:
これはうまくいくようでした:
Roles.GetRolesForUser(User.Identity.Name)
裏付けとなる回答は引き続き歓迎します。
Roles.GetRolesForUser(User.Identity.Name)
これは、1つのステートメントで実行できます。
User.IsInRole("admin");
誰かがこの情報を必要としている場合、ユーザーが多くの役割を持っているが、それを探している場合は、これを行うことができます:(私はid共有だと思いました)
@if (Request.IsAuthenticated)
{
string[] roles = Roles.GetRolesForUser();
foreach (string role in roles)
{
if (role.Contains("admin"))
{
<li>@Html.ActionLink("Administration", "Admin", "Movies")</li>
break;
}
}
}