19 lines
489 B
Go
19 lines
489 B
Go
package common
|
|
|
|
import (
|
|
"git.apinb.com/bsm-sdk/core/errcode"
|
|
"git.apinb.com/bsm-sdk/core/infra"
|
|
"git.apinb.com/bsm-sdk/core/middleware"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// RequirePlatformRoot restricts sensitive platform configuration operations to the root role.
|
|
func RequirePlatformRoot(ctx *gin.Context) bool {
|
|
claims, err := middleware.ParseAuth(ctx)
|
|
if err == nil && claims.Role == "root" {
|
|
return true
|
|
}
|
|
infra.Response.Error(ctx, errcode.ErrPermissionDenied)
|
|
return false
|
|
}
|