平安あれ
ユーザーからすべての役割を削除して、ユーザーの権限を無効にし、一部のページにアクセスできないようにしようとしています。
この方法で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を使用しています
ユーザーマネージャーにはメソッド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());