mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 02:37:24 +08:00
fix: 修复rds普通后台下账号权限问题
This commit is contained in:
@@ -73,6 +73,15 @@ func (manager *SDBInstanceAccountManager) ResourceScope() rbacutils.TRbacScope {
|
||||
return rbacutils.ScopeProject
|
||||
}
|
||||
|
||||
func (self *SDBInstanceAccount) GetOwnerId() mcclient.IIdentityProvider {
|
||||
instance, err := self.GetDBInstance()
|
||||
if err != nil {
|
||||
log.Errorf("failed to get instance for account %s(%s)", self.Name, self.Id)
|
||||
return nil
|
||||
}
|
||||
return instance.GetOwnerId()
|
||||
}
|
||||
|
||||
func (manager *SDBInstanceAccountManager) AllowListItems(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool {
|
||||
if jsonutils.QueryBoolean(query, "admin", false) && !db.IsAllowList(rbacutils.ScopeProject, userCred, manager) {
|
||||
return false
|
||||
|
||||
@@ -70,6 +70,15 @@ func (manager *SDBInstanceDatabaseManager) ResourceScope() rbacutils.TRbacScope
|
||||
return rbacutils.ScopeProject
|
||||
}
|
||||
|
||||
func (self *SDBInstanceDatabase) GetOwnerId() mcclient.IIdentityProvider {
|
||||
instance, err := self.GetDBInstance()
|
||||
if err != nil {
|
||||
log.Errorf("failed to get instance for database %s(%s)", self.Name, self.Id)
|
||||
return nil
|
||||
}
|
||||
return instance.GetOwnerId()
|
||||
}
|
||||
|
||||
func (manager *SDBInstanceDatabaseManager) AllowListItems(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool {
|
||||
if jsonutils.QueryBoolean(query, "admin", false) && !db.IsAllowList(rbacutils.ScopeProject, userCred, manager) {
|
||||
return false
|
||||
@@ -117,15 +126,6 @@ func (self *SDBInstanceDatabase) AllowUpdateItem(ctx context.Context, userCred m
|
||||
return false
|
||||
}
|
||||
|
||||
func (self *SDBInstanceDatabase) GetOwnerId() mcclient.IIdentityProvider {
|
||||
instance, err := self.GetDBInstance()
|
||||
if err != nil {
|
||||
log.Errorf("failed to get dbinstance for database %s(%s)", self.Id, self.Name)
|
||||
return nil
|
||||
}
|
||||
return instance.GetOwnerId()
|
||||
}
|
||||
|
||||
func (self *SDBInstanceDatabase) AllowDeleteItem(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) bool {
|
||||
return db.IsAdminAllowDelete(userCred, self)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user