mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-22 18:25:47 +08:00
Fix enforcer policy add and delete
This commit is contained in:
parent
56787fab90
commit
81a8b91e3f
@ -191,7 +191,7 @@ func (c *ApiController) UpdatePolicy() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
affected, err := object.UpdatePolicy(id, util.CasbinToSlice(policies[0]), util.CasbinToSlice(policies[1]))
|
affected, err := object.UpdatePolicy(id, policies[0].Ptype, util.CasbinToSlice(policies[0]), util.CasbinToSlice(policies[1]))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.ResponseError(err.Error())
|
c.ResponseError(err.Error())
|
||||||
return
|
return
|
||||||
@ -210,7 +210,7 @@ func (c *ApiController) AddPolicy() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
affected, err := object.AddPolicy(id, util.CasbinToSlice(policy))
|
affected, err := object.AddPolicy(id, policy.Ptype, util.CasbinToSlice(policy))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.ResponseError(err.Error())
|
c.ResponseError(err.Error())
|
||||||
return
|
return
|
||||||
@ -229,7 +229,7 @@ func (c *ApiController) RemovePolicy() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
affected, err := object.RemovePolicy(id, util.CasbinToSlice(policy))
|
affected, err := object.RemovePolicy(id, policy.Ptype, util.CasbinToSlice(policy))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.ResponseError(err.Error())
|
c.ResponseError(err.Error())
|
||||||
return
|
return
|
||||||
|
@ -191,39 +191,55 @@ func GetPolicies(id string) ([]*xormadapter.CasbinRule, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
policies := util.MatrixToCasbinRules("p", enforcer.GetPolicy())
|
pRules := enforcer.GetPolicy()
|
||||||
|
res := util.MatrixToCasbinRules("p", pRules)
|
||||||
|
|
||||||
if enforcer.GetModel()["g"] != nil {
|
if enforcer.GetModel()["g"] != nil {
|
||||||
policies = append(policies, util.MatrixToCasbinRules("g", enforcer.GetGroupingPolicy())...)
|
gRules := enforcer.GetGroupingPolicy()
|
||||||
|
res2 := util.MatrixToCasbinRules("g", gRules)
|
||||||
|
res = append(res, res2...)
|
||||||
}
|
}
|
||||||
|
|
||||||
return policies, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func UpdatePolicy(id string, oldPolicy, newPolicy []string) (bool, error) {
|
func UpdatePolicy(id string, ptype string, oldPolicy []string, newPolicy []string) (bool, error) {
|
||||||
enforcer, err := GetInitializedEnforcer(id)
|
enforcer, err := GetInitializedEnforcer(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return enforcer.UpdatePolicy(oldPolicy, newPolicy)
|
if ptype == "p" {
|
||||||
|
return enforcer.UpdatePolicy(oldPolicy, newPolicy)
|
||||||
|
} else {
|
||||||
|
return enforcer.UpdateGroupingPolicy(oldPolicy, newPolicy)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddPolicy(id string, policy []string) (bool, error) {
|
func AddPolicy(id string, ptype string, policy []string) (bool, error) {
|
||||||
enforcer, err := GetInitializedEnforcer(id)
|
enforcer, err := GetInitializedEnforcer(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return enforcer.AddPolicy(policy)
|
if ptype == "p" {
|
||||||
|
return enforcer.AddPolicy(policy)
|
||||||
|
} else {
|
||||||
|
return enforcer.AddGroupingPolicy(policy)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func RemovePolicy(id string, policy []string) (bool, error) {
|
func RemovePolicy(id string, ptype string, policy []string) (bool, error) {
|
||||||
enforcer, err := GetInitializedEnforcer(id)
|
enforcer, err := GetInitializedEnforcer(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return enforcer.RemovePolicy(policy)
|
if ptype == "p" {
|
||||||
|
return enforcer.RemovePolicy(policy)
|
||||||
|
} else {
|
||||||
|
return enforcer.RemoveGroupingPolicy(policy)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (enforcer *Enforcer) LoadModelCfg() error {
|
func (enforcer *Enforcer) LoadModelCfg() error {
|
||||||
|
@ -30,7 +30,7 @@ class AdapterListPage extends BaseListPage {
|
|||||||
owner: owner,
|
owner: owner,
|
||||||
name: `adapter_${randomName}`,
|
name: `adapter_${randomName}`,
|
||||||
createdTime: moment().format(),
|
createdTime: moment().format(),
|
||||||
table: "tableName",
|
table: "table_name",
|
||||||
useSameDb: true,
|
useSameDb: true,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ class SyncerListPage extends BaseListPage {
|
|||||||
password: "123456",
|
password: "123456",
|
||||||
databaseType: "mysql",
|
databaseType: "mysql",
|
||||||
database: "dbName",
|
database: "dbName",
|
||||||
table: "tableName",
|
table: "table_name",
|
||||||
tableColumns: [],
|
tableColumns: [],
|
||||||
affiliationTable: "",
|
affiliationTable: "",
|
||||||
avatarBaseUrl: "",
|
avatarBaseUrl: "",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user