微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以在新的 ClaimTypes.Role 中使用多个角色名称吗

如何解决我可以在新的 ClaimTypes.Role 中使用多个角色名称吗

我有这个方法添加带有 ClaimType 角色的 cookie

private async void AddCookies(string role)
    {
     var claim = new List<Claim>
     {
       new Claim(ClaimTypes.Role,role.ToString()),}
    }

这是我的数据库 table Users And Roels And Users Roles every user have more than role

我尝试使用数组,但不像这个例子那样和我一起工作

 private async void AddCookies(string[] role)
        {
         var claim = new List<Claim>
         {
           new Claim(ClaimTypes.Role,}
        }

解决方法

您没有为数组的每个元素添加角色,而是在 Claim() 构造函数中将整个数组作为参数传递。您必须遍历角色数组并为每个角色创建新声明。

    private async void AddCookies(string[] roles)
    {
        var claims = new List<Claim>();

        foreach(var role in roles)
        {      
            var claim = new Claim(ClaimTypes.Role,role);

            claims.Add(claim);
        }       
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。