web-dev-qa-db-ja.com

ユーザーMVC5からすべての役割を削除します

平安あれ

ユーザーからすべての役割を削除して、ユーザーの権限を無効にし、一部のページにアクセスできないようにしようとしています。

この方法で1つの役割を削除できることがわかり、機能しました。

await UserManager.RemoveFromRoleAsync(userid, role);

ここで、useridは、彼のアクセス許可を無効にするユーザーIDです。

したがって、このコードを使用して、同じユーザーからすべての役割を削除します

foreach (string role in roles) {

 await UserManager.RemoveFromRoleAsync(userid, role);

}

しかし、AspNetRolesテーブルにあるロールIDを保存する方法をここに貼り付けました

string[] roles 

何か助けはありますか?

または、ユーザーからすべての役割を削除する別の方法はありますか?

Asp.netIDバージョン2を使用しています

7
O. Haifa

ユーザーマネージャーにはメソッドTask<IList<string>> GetRolesAsync(TKey userId)があります。

ユーザーのロールを返します

そしてまたTask<IdentityResult> RemoveFromRolesAsync(TKey userId, params string[] roles)それ

複数の役割からユーザーを削除する

だからあなたが望むものを達成するために2つを組み合わせる

var roles = await UserManager.GetRolesAsync(userid);
await UserManager.RemoveFromRolesAsync(userid, roles.ToArray());
22
Nkosi