From 030c1caa50149389852a8b2ab9c4569be565a6c2 Mon Sep 17 00:00:00 2001 From: Gucheng Wang Date: Sat, 15 Jan 2022 23:23:14 +0800 Subject: [PATCH] Fix bug in IsGlobalAdmin(). --- controllers/base.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/controllers/base.go b/controllers/base.go index b86a77f0..b2dd2f57 100644 --- a/controllers/base.go +++ b/controllers/base.go @@ -15,6 +15,7 @@ package controllers import ( + "strings" "time" "github.com/astaxie/beego" @@ -38,7 +39,16 @@ type SessionData struct { func (c *ApiController) IsGlobalAdmin() bool { username := c.GetSessionUsername() + if strings.HasPrefix(username, "app/") { + // e.g., "app/app-casnode" + return true + } + user := object.GetUser(username) + if user == nil { + return false + } + return user.Owner == "built-in" || user.IsGlobalAdmin }