当路由中包含参数时,静态 Web 应用程序使用角色保护路由

问题描述 投票:0回答:1

我已经构建了一个 React 应用程序(Azure SWA),我的 API 链接到我的 Web 应用程序,并且我正在使用角色保护路由(一切正常):

 {
   "route": "/api/product",
   "allowedRoles": ["admin", "nonadmin"]
 },
 {
   "route": "/api/product/*/delete",
   "allowedRoles": ["admin"]
 },

我只希望管理员角色能够调用删除端点,但是有一个 guid 可以标识产品,并且当我这样做时,该路由不起作用,因为仅在路由末尾支持通配符:

微软通配符

当然有办法做到这一点吗?由于 URL 参数非常常见,我似乎可以找到任何有关如何实现此目的的材料。

reactjs asp.net-apicontroller azure-static-web-app azure-static-website-routing
1个回答
0
投票

我不会执行 /delete,而是使用 DELETE 动词来将该方法归因于您可以执行的操作

    {
      "route": "/api/profile*",
      "methods": ["DELETE"],
      "allowedRoles": ["admin"]
    },

此外,使用 HTTP 动词更符合 RESTful 原则。

© www.soinside.com 2019 - 2024. All rights reserved.