fix(perm): 修复企业账号资产权限边界 PERM-01/02
- PERM-01: 删除 Resolve 接口对企业账号的错误拦截(企业账号应可查询资产) - PERM-02: 在 Refresh 接口开头新增企业账号拦截(企业账号只读,不允许主动触发运营商刷新)
This commit is contained in:
@@ -38,11 +38,6 @@ func NewAssetHandler(
|
|||||||
// Resolve 通过任意标识符解析资产(设备或卡)
|
// Resolve 通过任意标识符解析资产(设备或卡)
|
||||||
// GET /api/admin/assets/resolve/:identifier
|
// GET /api/admin/assets/resolve/:identifier
|
||||||
func (h *AssetHandler) Resolve(c *fiber.Ctx) error {
|
func (h *AssetHandler) Resolve(c *fiber.Ctx) error {
|
||||||
userType := middleware.GetUserTypeFromContext(c.UserContext())
|
|
||||||
if userType == constants.UserTypeEnterprise {
|
|
||||||
return errors.New(errors.CodeForbidden, "企业账号暂不支持此接口")
|
|
||||||
}
|
|
||||||
|
|
||||||
identifier := c.Params("identifier")
|
identifier := c.Params("identifier")
|
||||||
if identifier == "" {
|
if identifier == "" {
|
||||||
return errors.New(errors.CodeInvalidParam, "标识符不能为空")
|
return errors.New(errors.CodeInvalidParam, "标识符不能为空")
|
||||||
@@ -76,6 +71,11 @@ func (h *AssetHandler) RealtimeStatus(c *fiber.Ctx) error {
|
|||||||
// Refresh 刷新资产状态(调网关同步)
|
// Refresh 刷新资产状态(调网关同步)
|
||||||
// POST /api/admin/assets/:asset_type/:id/refresh
|
// POST /api/admin/assets/:asset_type/:id/refresh
|
||||||
func (h *AssetHandler) Refresh(c *fiber.Ctx) error {
|
func (h *AssetHandler) Refresh(c *fiber.Ctx) error {
|
||||||
|
// 企业账号只读,不允许主动触发运营商刷新
|
||||||
|
userType := middleware.GetUserTypeFromContext(c.UserContext())
|
||||||
|
if userType == constants.UserTypeEnterprise {
|
||||||
|
return errors.New(errors.CodeForbidden, "企业账号无权主动刷新资产状态")
|
||||||
|
}
|
||||||
assetType := c.Params("asset_type")
|
assetType := c.Params("asset_type")
|
||||||
id, err := strconv.ParseUint(c.Params("id"), 10, 64)
|
id, err := strconv.ParseUint(c.Params("id"), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user