O. *_*ifa 6 c# asp.net asp.net-mvc asp.net-mvc-5 asp.net-identity-2
祝你平安
我试图从用户删除所有角色以禁用他的权限,并阻止他访问某些页面.
我发现这个方法删除了一个角色并且它有效:
await UserManager.RemoveFromRoleAsync(userid, role);
Run Code Online (Sandbox Code Playgroud)
其中userid是我要禁用其权限的用户ID.
因此,我使用此代码删除同一用户的所有角色
foreach (string role in roles) {
await UserManager.RemoveFromRoleAsync(userid, role);
}
Run Code Online (Sandbox Code Playgroud)
但我坚持在这里如何保存AspNetRoles表中的角色ID
string[] roles
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
或者是否有其他方法可以删除用户的所有角色?
我使用的是asp.net身份版本2
Nko*_*osi 21
用户管理器有一个方法Task<IList<string>> GetRolesAsync(TKey userId),其
返回用户的角色
还有Task<IdentityResult> RemoveFromRolesAsync(TKey userId, params string[] roles)那个
从多个角色中删除用户
所以结合两者来实现你想要的
var roles = await UserManager.GetRolesAsync(userid);
await UserManager.RemoveFromRolesAsync(userid, roles.ToArray());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7819 次 |
| 最近记录: |