This commit is contained in:
simonzhangsz committed 2023-08-18 13:57:36 +08:00
1 parent 3e726ddd99
commit 882baa2e0b
5 files changed
+49 -34

No files matched your search

+2 -2
View File
@@ -1484,14 +1484,14 @@ type permission struct {
Object string `json:"object"`
}
func IsPermissionAllowed(token, method, dbname, tbname string) (bool, error) {
func IsPermissionAllowed(token, method, module, dbname, tbname string) (bool, error) {
log.Info("IsPermissionAllowed processing... ")
exist, err := xEngine.Table("permission").
Join("INNER", "role_permission", "permission.permission_name = role_permission.p_name").
Join("INNER", "user_role", "role_permission.r_name = user_role.r_name").
Join("INNER", "session", "user_role.u_name = session.account_id and session.access_token=?", token).
Where("method in ('*',?) and element in ('*',?) and object in ('*',?)", method, dbname, tbname).
Where("method in ('*',?) and management in ('*',?) and element in ('*',?) and object in ('*',?)", method, module, dbname, tbname).
Exist()
if err != nil {
return false, err
+11 -2
View File
@@ -417,9 +417,18 @@ func CheckCommonValidRequest(w http.ResponseWriter, r *http.Request) (string, er
return token, nil
}
func CheckUserPermission(token, method, dbname, tbname string) (bool, error) {
func CheckUserPermission(token, method, module, dbname, tbname string) (bool, error) {
if config.GetYamlConfig().OMC.RBACMode == true {
exist, err := dborm.IsPermissionAllowed(token, method, dbname, tbname)
if module == "" {
module = "*"
}
if dbname == "" {
dbname = "*"
}
if tbname == "" {
tbname = "*"
}
exist, err := dborm.IsPermissionAllowed(token, method, module, dbname, tbname)
if err != nil {
return false, err
}