feat: 数据库直连操作权限
This commit is contained in:
@@ -42,7 +42,7 @@ func IsAdmin(userID string) bool {
|
|||||||
}
|
}
|
||||||
// 从本地配置获取user信息
|
// 从本地配置获取user信息
|
||||||
// admins := Get("user.adminList").([]any)
|
// admins := Get("user.adminList").([]any)
|
||||||
admins := []string{"1"}
|
admins := []string{"1", "2", "3"}
|
||||||
for _, s := range admins {
|
for _, s := range admins {
|
||||||
if s == userID {
|
if s == userID {
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ func verifyRolePermission(roles, perms []string, options map[string][]string) bo
|
|||||||
|
|
||||||
// 同时判断 含有其中
|
// 同时判断 含有其中
|
||||||
if opts[0] && opts[1] {
|
if opts[0] && opts[1] {
|
||||||
return hasRole && hasPerms
|
return hasRole || hasPerms
|
||||||
}
|
}
|
||||||
// 同时判断 匹配其中
|
// 同时判断 匹配其中
|
||||||
if opts[2] && opts[3] {
|
if opts[2] && opts[3] {
|
||||||
|
|||||||
@@ -61,43 +61,61 @@ func init() {
|
|||||||
Register("GET", state.CustomUriLicenseInfoAll, state.GetAllLicenseInfoFromNF, nil)
|
Register("GET", state.CustomUriLicenseInfoAll, state.GetAllLicenseInfoFromNF, nil)
|
||||||
Register("GET", state.CustomUriLicenseInfoOne, state.GetOneLicenseInfoFromNF, nil)
|
Register("GET", state.CustomUriLicenseInfoOne, state.GetOneLicenseInfoFromNF, nil)
|
||||||
|
|
||||||
|
// 数据库直连操作权限
|
||||||
|
selectPermission := midware.Authorize(map[string][]string{
|
||||||
|
"hasRoles": {"dba"},
|
||||||
|
"hasPerms": {"db:select"},
|
||||||
|
})
|
||||||
|
updatePermission := midware.Authorize(map[string][]string{
|
||||||
|
"hasRoles": {"dba"},
|
||||||
|
"hasPerms": {"db:update"},
|
||||||
|
})
|
||||||
|
insertPermission := midware.Authorize(map[string][]string{
|
||||||
|
"hasRoles": {"dba"},
|
||||||
|
"hasPerms": {"db:insert"},
|
||||||
|
})
|
||||||
|
deletePermission := midware.Authorize(map[string][]string{
|
||||||
|
"hasRoles": {"dba"},
|
||||||
|
"hasPerms": {"db:delete"},
|
||||||
|
})
|
||||||
|
|
||||||
// database management
|
// database management
|
||||||
Register("GET", dbrest.XormGetDataUri, dbrest.DatabaseGetData, midware.CheckPermission)
|
Register("GET", dbrest.XormGetDataUri, dbrest.DatabaseGetData, selectPermission)
|
||||||
Register("GET", dbrest.XormSelectDataUri, dbrest.DatabaseGetData, midware.CheckPermission)
|
Register("GET", dbrest.XormSelectDataUri, dbrest.DatabaseGetData, selectPermission)
|
||||||
Register("POST", dbrest.XormInsertDataUri, dbrest.DatabaseInsertData, midware.CheckPermission)
|
Register("POST", dbrest.XormInsertDataUri, dbrest.DatabaseInsertData, insertPermission)
|
||||||
Register("PUT", dbrest.XormUpdateDataUri, dbrest.DatabaseUpdateData, midware.CheckPermission)
|
Register("PUT", dbrest.XormUpdateDataUri, dbrest.DatabaseUpdateData, updatePermission)
|
||||||
Register("DELETE", dbrest.XormDeleteDataUri, dbrest.DatabaseDeleteData, midware.CheckPermission)
|
Register("DELETE", dbrest.XormDeleteDataUri, dbrest.DatabaseDeleteData, deletePermission)
|
||||||
|
|
||||||
Register("GET", dbrest.CustomXormGetDataUri, dbrest.DatabaseGetData, midware.CheckPermission)
|
Register("GET", dbrest.CustomXormGetDataUri, dbrest.DatabaseGetData, selectPermission)
|
||||||
Register("GET", dbrest.CustomXormSelectDataUri, dbrest.DatabaseGetData, midware.CheckPermission)
|
Register("GET", dbrest.CustomXormSelectDataUri, dbrest.DatabaseGetData, selectPermission)
|
||||||
Register("POST", dbrest.CustomXormInsertDataUri, dbrest.DatabaseInsertData, midware.CheckPermission)
|
Register("POST", dbrest.CustomXormInsertDataUri, dbrest.DatabaseInsertData, insertPermission)
|
||||||
Register("PUT", dbrest.CustomXormUpdateDataUri, dbrest.DatabaseUpdateData, midware.CheckPermission)
|
Register("PUT", dbrest.CustomXormUpdateDataUri, dbrest.DatabaseUpdateData, updatePermission)
|
||||||
Register("DELETE", dbrest.CustomXormDeleteDataUri, dbrest.DatabaseDeleteData, midware.CheckPermission)
|
Register("DELETE", dbrest.CustomXormDeleteDataUri, dbrest.DatabaseDeleteData, deletePermission)
|
||||||
|
|
||||||
Register("GET", dbrest.XormCommonUri, dbrest.DatabaseGetData, midware.CheckPermission)
|
Register("GET", dbrest.XormCommonUri, dbrest.DatabaseGetData, selectPermission)
|
||||||
Register("POST", dbrest.XormCommonUri, dbrest.DatabaseInsertData, midware.CheckPermission)
|
Register("POST", dbrest.XormCommonUri, dbrest.DatabaseInsertData, insertPermission)
|
||||||
Register("PUT", dbrest.XormCommonUri, dbrest.DatabaseUpdateData, midware.CheckPermission)
|
Register("PUT", dbrest.XormCommonUri, dbrest.DatabaseUpdateData, updatePermission)
|
||||||
Register("DELETE", dbrest.XormCommonUri, dbrest.DatabaseDeleteData, midware.CheckPermission)
|
Register("DELETE", dbrest.XormCommonUri, dbrest.DatabaseDeleteData, deletePermission)
|
||||||
|
|
||||||
Register("GET", dbrest.XormDatabaseUri, dbrest.TaskDatabaseGetData, midware.CheckPermission)
|
Register("GET", dbrest.XormDatabaseUri, dbrest.TaskDatabaseGetData, midware.CheckPermission)
|
||||||
Register("POST", dbrest.XormDatabaseUri, dbrest.TaskDatabaseInsertData, midware.CheckPermission)
|
Register("POST", dbrest.XormDatabaseUri, dbrest.TaskDatabaseInsertData, insertPermission)
|
||||||
Register("PUT", dbrest.XormDatabaseUri, dbrest.TaskDatabaseUpdateData, midware.CheckPermission)
|
Register("PUT", dbrest.XormDatabaseUri, dbrest.TaskDatabaseUpdateData, updatePermission)
|
||||||
Register("DELETE", dbrest.XormDatabaseUri, dbrest.TaskDatabaseDeleteData, midware.CheckPermission)
|
Register("DELETE", dbrest.XormDatabaseUri, dbrest.TaskDatabaseDeleteData, deletePermission)
|
||||||
|
|
||||||
Register("GET", dbrest.CustomXormCommonUri, dbrest.DatabaseGetData, midware.CheckPermission)
|
Register("GET", dbrest.CustomXormCommonUri, dbrest.DatabaseGetData, selectPermission)
|
||||||
Register("POST", dbrest.CustomXormCommonUri, dbrest.DatabaseInsertData, midware.CheckPermission)
|
Register("POST", dbrest.CustomXormCommonUri, dbrest.DatabaseInsertData, insertPermission)
|
||||||
Register("PUT", dbrest.CustomXormCommonUri, dbrest.DatabaseUpdateData, midware.CheckPermission)
|
Register("PUT", dbrest.CustomXormCommonUri, dbrest.DatabaseUpdateData, updatePermission)
|
||||||
Register("DELETE", dbrest.CustomXormCommonUri, dbrest.DatabaseDeleteData, midware.CheckPermission)
|
Register("DELETE", dbrest.CustomXormCommonUri, dbrest.DatabaseDeleteData, deletePermission)
|
||||||
|
|
||||||
Register("GET", dbrest.XormExtDataUri, dbrest.ExtDatabaseGetData, midware.CheckPermission)
|
Register("GET", dbrest.XormExtDataUri, dbrest.ExtDatabaseGetData, selectPermission)
|
||||||
Register("POST", dbrest.XormExtDataUri, dbrest.ExtDatabaseInsertData, midware.CheckPermission)
|
Register("POST", dbrest.XormExtDataUri, dbrest.ExtDatabaseInsertData, insertPermission)
|
||||||
Register("PUT", dbrest.XormExtDataUri, dbrest.ExtDatabaseUpdateData, midware.CheckPermission)
|
Register("PUT", dbrest.XormExtDataUri, dbrest.ExtDatabaseUpdateData, updatePermission)
|
||||||
Register("DELETE", dbrest.XormExtDataUri, dbrest.ExtDatabaseDeleteData, midware.CheckPermission)
|
Register("DELETE", dbrest.XormExtDataUri, dbrest.ExtDatabaseDeleteData, deletePermission)
|
||||||
|
|
||||||
Register("GET", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseGetData, midware.CheckPermission)
|
Register("GET", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseGetData, selectPermission)
|
||||||
Register("POST", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseInsertData, midware.CheckPermission)
|
Register("POST", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseInsertData, insertPermission)
|
||||||
Register("PUT", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseUpdateData, midware.CheckPermission)
|
Register("PUT", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseUpdateData, updatePermission)
|
||||||
Register("DELETE", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseDeleteData, midware.CheckPermission)
|
Register("DELETE", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseDeleteData, deletePermission)
|
||||||
|
|
||||||
// alarm restful Register
|
// alarm restful Register
|
||||||
Register("POST", fm.UriAlarms, fm.PostAlarmFromNF, nil)
|
Register("POST", fm.UriAlarms, fm.PostAlarmFromNF, nil)
|
||||||
@@ -287,7 +305,7 @@ func NewRouter() *mux.Router {
|
|||||||
|
|
||||||
r.Use(midware.LoggerTrace)
|
r.Use(midware.LoggerTrace)
|
||||||
r.Use(midware.OptionProcess)
|
r.Use(midware.OptionProcess)
|
||||||
r.Use(midware.ArrowIPAddr)
|
// r.Use(midware.ArrowIPAddr)
|
||||||
|
|
||||||
for _, router := range routers {
|
for _, router := range routers {
|
||||||
rt := r.Methods(router.Method).Subrouter()
|
rt := r.Methods(router.Method).Subrouter()
|
||||||
|
|||||||
Reference in New Issue
Block a user