登录
首页 >  Golang >  Go问答

使用golang加载casbin库中的策略字符串

来源:stackoverflow

时间:2024-02-24 18:39:19 167浏览 收藏

今天golang学习网给大家带来了《使用golang加载casbin库中的策略字符串》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我们可以像模型一样直接在casbin中以字符串形式加载策略吗

我想要类似的政策,而不是从 csv 文件加载

text :=
`
[request_definition]
r = sub, obj, act

[policy_definition]
p = sub, obj, act

[role_definition]
g = _, _

[policy_effect]
e = some(where (p.eft == allow))

[matchers]
m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
`
m, _ := model.NewModelFromString(text)

正确答案


是的,您可以将字符串加载到模型中(而不是策略)。您给出的上述示例是针对模型的。

from casbin.core_enforcer import CoreEnforcer

text =
`
[request_definition]
r = sub, obj, act

[policy_definition]
p = sub, obj, act

[role_definition]
g = _, _

[policy_effect]
e = some(where (p.eft == allow))

[matchers]
m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
`

model = CoreEnforcer.new_model("", txt)
enforcer = casbin.Enforcer(model, adapter)

到这里,我们也就讲完了《使用golang加载casbin库中的策略字符串》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>