创建一个Casbin决策器需要有一个模型文件和策略文件为参数:

    1. e := casbin.NewEnforcer("path/to/model.conf", "path/to/policy.csv")

    注意: 你也可以用DB中的策略初始化一个决策器,细节可以看策略存储 部分。

    在访问发生之前, 在代码中添加强制挂钩:

    1. sub := "alice" // 想要访问资源的用户。
    2. obj: = "data1" // 将被访问的资源。
    3. act := "read" // 用户对资源执行的操作。
    4. if e.Enforce(sub, obj, act) == true {
    5. // 允许 alice 读取 data1
    6. } else {
    7. // 拒绝请求, 显示错误
    8. }

    除了静态策略文件之外, Casbin 还为运行时的权限管理提供 API。例如, 您可以将分配给用户的所有角色按如下所示进行:

    1. roles := e.GetRoles("alice")

    有关更多用法, 请参见 策略管理 API

    请参阅 _test 文件以了解更多用法。

    原文: https://casbin.org/docs/zh-CN/get-started