|
|
@ -21,6 +21,7 @@ import ( |
|
|
|
|
|
|
|
func UpdateCasbin(authorityId string, casbinInfos []request.CasbinInfo) error { |
|
|
|
ClearCasbin(0, authorityId) |
|
|
|
rules := [][]string{} |
|
|
|
for _, v := range casbinInfos { |
|
|
|
cm := model.CasbinModel{ |
|
|
|
Ptype: "p", |
|
|
@ -28,24 +29,14 @@ func UpdateCasbin(authorityId string, casbinInfos []request.CasbinInfo) error { |
|
|
|
Path: v.Path, |
|
|
|
Method: v.Method, |
|
|
|
} |
|
|
|
addflag := AddCasbin(cm) |
|
|
|
if addflag == false { |
|
|
|
return errors.New("存在相同api,添加失败,请联系管理员") |
|
|
|
} |
|
|
|
rules = append(rules, []string{cm.AuthorityId, cm.Path, cm.Method}) |
|
|
|
} |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
// @title AddCasbin
|
|
|
|
// @description add casbin authority, 添加权限
|
|
|
|
// @auth (2020/04/05 20:22)
|
|
|
|
// @param cm model.CasbinModel
|
|
|
|
// @return bool
|
|
|
|
|
|
|
|
func AddCasbin(cm model.CasbinModel) bool { |
|
|
|
e := Casbin() |
|
|
|
success, _ := e.AddPolicy(cm.AuthorityId, cm.Path, cm.Method) |
|
|
|
return success |
|
|
|
success, _ := e.AddPolicies(rules) |
|
|
|
if success == false { |
|
|
|
return errors.New("存在相同api,添加失败,请联系管理员") |
|
|
|
} |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
// @title UpdateCasbinApi
|
|
|
|