azure-active-directory - 如何在 azure 活动目录中获取用户角色?asp.net core 5.0 blazor
问题描述
我想在登录后获取用户角色。我正在获取用户信息,但角色为空。请在下面查看我的代码:
services.AddHttpContextAccessor();
在 startup.cs 中的 ConfigureServices 方法中初始化
[Inject] public IHttpContextAccessor HttpContextAccessor { get; set; }
public string GetCurrentUser()
{
var roles = HttpContextAccessor.HttpContext.User.Claims.Where(c => c.Type == ClaimTypes.Role).Select(c => c.Value).ToList(); // Please see the below image
return HttpContextAccessor.HttpContext.User.Identity.Name; // getting login user, no issue here
}
用户分配了 3 个角色,但这里没有获得任何角色。如何获得角色?谢谢
Appsettings.json 文件配置。
解决方案
我遇到了类似的问题,让 ClaimsPrincipal 为空,所以我找到了一个关于 2FA 的解决方案,当您启用 2FA 并在下次登录时,如果您检查了记住此浏览器的 2fa 并从您的帐户中删除 2fa,它会在某些页面中注销并失去索赔。尝试清除 cookie。 https://github.com/dotnet/aspnetcore/issues/5817#issuecomment-491818987
推荐阅读
- google-bigquery - 我们可以将 BigQuery 中的数据导入 Google 表格吗?
- svg - 通过命令行的 Inkscape 和文档属性
- bash - 如何标记字符串并在bash中的每个标记上调用函数?
- vb.net - DatagridView 导出到 excel “只有 1 行正在导出”
- python - 从 Lambda 调用 DynamoDB BatchGetItem 具有 >1000 毫秒的延迟。正常吗?
- java - 如何在dimens.xml 中为浮动操作按钮声明两个不同的用户定义大小?
- android - 在 AVD Manager 的小屏幕上,屏幕顶部变得太大
- database - 在一个事务中解锁共享锁是否依赖于另一个事务中随后给出的共享锁?
- vue.js - 如何替换 Vuetify scss 字体样式?
- laravel - Laravel 表单验证结果