【问题标题】:Many claims principles - how to access the non standard ones许多索赔原则 - 如何访问非标准的
【发布时间】:2020-10-16 13:24:54
【问题描述】:

新的声明,但我目前正在获得在我的应用程序中使用此数据的声明..

我的主要对象中有大约 200 个声明

[CascadingParameter]
        private Task<Microsoft.AspNetCore.Components.Authorization.AuthenticationState> authState { get; set; }
        private System.Security.Claims.ClaimsPrincipal principal;

protected async override void OnParametersSet()
        {
            DateTime date = DateTime.UtcNow;
            if (authState != null)
            {
                principal = (await authState).User;
            }
        }

例如,我有一个声明说 {city:Norfolk} 具有“诺福克”的值属性我如何在代码中访问这个单独的声明...

提前致谢。

如何访问该值。?

**

我设法解决了

**

 string val =  principal.Claims.FirstOrDefault(c => c.Type == "NameOfTypeHere").Value;

【问题讨论】:

  • 很高兴您发现了问题。您可以将您的解决方案发布为答案,甚至将其标记为已接受的答案。它将帮助站点上的其他人将来以这种方式做事。
  • 我该怎么做。谢谢。
  • 我在调试/探索声明时使用此页面。 github.com/BrianLParker/RoleBaseAuth/blob/master/RoleBaseAuth/…。我在某处的文档中找到它并对其进行了调整。
  • @sinfella 你可以在下面写一个答案,上面写着“你的答案”。这样你的解决方案就会出现在答案部分而不是作为问题的一部分

标签: c# asp.net-core blazor claims-based-identity


【解决方案1】:

我解决了。

string val = principal.Claims.FirstOrDefault(c => c.Type == "NameOfTypeHere").Value;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-15
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多