gpt4 book ai didi

c# - ASP.NET 身份 "Role-based"声明

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

我了解我可以使用声明对用户进行声明:

var claims = new List<Claim>();
claims.Add(new Claim(ClaimTypes.Name, "Peter"));
claims.Add(new Claim(ClaimTypes.Email, "peter@domain.com"));

但是我应该如何存储“基于角色”的声明呢?例如:

The user is a super administrator.

claims.Add(new Claim("IsSuperAdmin, "true"));

值参数“true”感觉完全多余。该声明还可以如何使用声明来表达?

最佳答案

这已经由框架为您完成。当用户登录时,所有用户角色都作为声明添加,声明类型为 ClaimTypes.Role,值为角色名称。

当您执行 IPrincipal.IsInRole("SuperAdmin") 时,框架实际上会检查声明是否具有类型 ClaimTypes.Role 和值 SuperAdmin 出现在用户身上。

所以不需要做任何特别的事情。只需将用户添加到角色即可。

关于c# - ASP.NET 身份 "Role-based"声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28410748/

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