gpt4 book ai didi

c# - Owin 声明 - 添加多个 ClaimTypes.Role

转载 作者:IT王子 更新时间:2023-10-29 04:33:18 27 4
gpt4 key购买 nike

我有一个可以为用户分配以下角色的应用程序:

  • super 管理员
  • 管理员
  • 用户

一个用户可能分配了两个或多个角色,例如。 super 管理员和用户。我的应用程序使用声明,因此我也想通过声明来验证用户角色。喜欢:

[Authorize(Roles="Admin")]

不幸的是,我不知道如何向我的 ClaimTypes.Role 添加多个角色。我有以下代码:

var identity = new ClaimsIdentity(new[] {
new Claim(ClaimTypes.Name, name),
new Claim(ClaimTypes.Email, email),
new Claim(ClaimTypes.Role, "User", "Admin", "SuperAdmin")
},
"ApplicationCookie");

如您所见,我试图添加更多角色以进行说明,但显然它以错误的方式完成,因此不起作用。因此,非常感谢任何帮助。

最佳答案

一个声明标识可以有多个具有相同 ClaimType 的声明。这样就可以使用 HasClaim 方法来检查是否存在特定的用户角色

var identity = new ClaimsIdentity(new[] {
new Claim(ClaimTypes.Name, name),
new Claim(ClaimTypes.Email, email),
new Claim(ClaimTypes.Role, "User"),
new Claim(ClaimTypes.Role, "Admin"),
new Claim(ClaimTypes.Role,"SuperAdmin")
},
"ApplicationCookie");

关于c# - Owin 声明 - 添加多个 ClaimTypes.Role,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42791416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com