.Net Core Web API 不同角色的平等路径
.Net Core Web API equal paths for different roles
我正在尝试为不同类型的用户创建具有相同路径的多条路由:
[Authorize]
public class MyController: Controller
{
[HttpGet("/products")]
[Authorize(Roles = "Administrator")]
public IActionResult ListProducts()
{
// ...
}
[HttpGet("/products")]
[Authorize(Roles = "Supervisor")]
public IActionResult ListProducts()
{
// ...
}
}
但是我遇到了多路由匹配错误。有没有办法让多个端点具有相同的名称,但角色不同?
您可以将用户角色作为输入参数传递给特定方法。然后根据角色价值做任何事情。
public IActionResult ListProducts(String role) {
if(role=="Administrator")
{}
else if(...)// ... }
I ended up defining my own IActionContraint to solve the route matching problem:
感谢@DavidG 的回答。
我正在尝试为不同类型的用户创建具有相同路径的多条路由:
[Authorize]
public class MyController: Controller
{
[HttpGet("/products")]
[Authorize(Roles = "Administrator")]
public IActionResult ListProducts()
{
// ...
}
[HttpGet("/products")]
[Authorize(Roles = "Supervisor")]
public IActionResult ListProducts()
{
// ...
}
}
但是我遇到了多路由匹配错误。有没有办法让多个端点具有相同的名称,但角色不同?
您可以将用户角色作为输入参数传递给特定方法。然后根据角色价值做任何事情。
public IActionResult ListProducts(String role) {
if(role=="Administrator")
{}
else if(...)// ... }
I ended up defining my own IActionContraint to solve the route matching problem: 感谢@DavidG 的回答。