如何使用角色在webApi中进行过滤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用角色在webApi中进行过滤相关的知识,希望对你有一定的参考价值。

我有这个控制器

     public class WorkController : ControllerBase
     {
     [Authorize(Roles = "admin")]
      [HttpPost("something/add")]
      public async Task<IActionResult> Add()
      {
        //add
      }
     [Authorize(Roles = "admin,support")]
     [HttpGet("something/get")]
      public async Task<IActionResult> Get()
      {
        //get
      }
     }

授权工作正常,但我认为它可以做得更好,我只是想问一下是否可以过滤Roles并允许其基于http动词,例如发件人的角色是< [admin,他可以访问所有方法,并且如果角色是support,则只能访问Get方法。因为我有很多方法,所以使它成为全局将是很棒的]

答案
您可以实现自己的AuthorizeAttribute并检查所需的内容

以上是关于如何使用角色在webApi中进行过滤的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SAML 2.0 响应进行特定 DNN 用户角色组身份验证和授权?

授权角色 WebAPI oauth owin

授权角色 WebAPI oauth owin

webapi 如何添加过滤器,并在过滤器中获取客户端传过来的参数

如何在不使用角色的情况下使用 ASP.NET WebAPI 实现基于声明的授权?

WebApi中过滤参数进行解码