.Net Core Web API用于不同角色的相等路径

时间:2018-02-20 11:43:21

标签: c# .net-core asp.net-mvc-routing

我正在尝试使用相同路径的多条路由但不同类型的用户:

[Authorize]
public class MyController: Controller
{
    [HttpGet("/products")]
    [Authorize(Roles = "Administrator")]
    public IActionResult ListProducts()
   {
           // ...
   }

   [HttpGet("/products")]
   [Authorize(Roles = "Supervisor")]
   public IActionResult ListProducts()
   {
           // ...
   }
}

但是我得到了多个路由匹配错误。有没有办法让多个端点具有相同的名称,但是对于不同的角色?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:-1)

您可以将用户角色作为输入参数传递给特定方法。然后做任何考虑角色价值的事情。

    public IActionResult ListProducts(String role) { 
if(role=="Administrator")
{}
else if(...)// ... }