资讯专栏INFORMATION COLUMN

Yii-Casbin:在 Yii 里使用 Casbin,支持 ACL、RBAC多种模型的权限管理框架

shusen / 3209人阅读

摘要:是一个用语言打造的轻量级开源访问控制框架,目前在开源。采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制基于属性的访问控制等。

PHP-Casbin 是一个用 PHP 语言打造的轻量级开源访问控制框架( https://github.com/php-casbin... ),目前在 GitHub 开源。PHP-Casbin 采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制 RBAC、基于属性的访问控制 ABAC 等。

Yii-Casbin 是一个专为Yii 2.0定制的Casbin的扩展包( https://github.com/php-casbin... )。

安装 通过composer安装

Yii 2.0项目里,通过composer安装这个扩展:

composer require casbin/yii-adapter
配置

使用此扩展时,需要在你的应用程序配置中配置 Casbin 类:

return [
    //....
    "components" => [
        "casbin" => [
            "class" => "CasbinAdapterYiiCasbin",
            
            /*
             * Yii-casbin model setting.
             */
            "model" => [
                // Available Settings: "file", "text"
                "config_type" => "file",
                "config_file_path" => "/path/to/casbin-model.conf",
                "config_text" => "",
            ],

            // Yii-casbin adapter .
            "adapter" => "CasbinAdapterYiiAdapter",

            /*
             * Yii-casbin database setting.
             */
            "database" => [
                // Database connection for following tables.
                "connection" => "",
                // CasbinRule tables and model.
                "casbin_rules_table" => "{{%casbin_rule}}",
            ],
        ],
    ]
];
用法

通过casbin组件对Casbin的基本访问:

$casbin = Yii::$app->casbin;

$sub = "alice"; // the user that wants to access a resource.
$obj = "data1"; // the resource that is going to be accessed.
$act = "read"; // the operation that the user performs on the resource.

if (true === $casbin->enforce($sub, $obj, $act)) {
    // permit alice to read data1
} else {
    // deny the request, show an error
}
自定义models规则

casbin支持多种models规则:

Supported models.

Casbin

Casbin官方网站:https://casbin.org

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29695.html

相关文章

  • PHP -Casbin: 支持 ACLRBAC、ABAC 多种模型 PHP 权限管理框架

    摘要:是一个用语言打造的轻量级开源访问控制框架,目前在开源。采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制基于属性的访问控制等。 showImg(https://segmentfault.com/img/bVbkDJf?w=500&h=220); PHP-Casbin 是一个用 PHP 语言打造的轻量级开源访问控制框架( https://github.com/php...

    rainyang 评论0 收藏0
  • PyCasbin: 支持 ACLRBAC、ABAC 多种模型 Python 权限管理框架

    摘要:是一个用语言打造的轻量级开源访问控制框架,目前在开源。认为由项目自身来管理用户角色列表更为合适,假设所有策略和请求中出现的用户角色资源都是合法有效的。 PyCasbin 是一个用 Python 语言打造的轻量级开源访问控制框架( https://github.com/casbin/pyc... ),目前在 GitHub 开源。PyCasbin 采用了元模型的设计思想,支持多种经典的访问...

    Freeman 评论0 收藏0
  • Think-Casbin:一个专为ThinkPHP打造轻量级访问控制库,支持RBAC/ACL权限

    摘要:是一个用语言打造的轻量级开源访问控制框架,目前在开源。采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制基于属性的访问控制等。一个专为定制的的扩展包。 PHP-Casbin 是一个用 PHP 语言打造的轻量级开源访问控制框架( https://github.com/php-casbin... ),目前在 GitHub 开源。PHP-Casbin 采用了元模型的设计...

    lieeps 评论0 收藏0
  • jCasbin支持MAC、RBAC、ABAC多种模型Java权限管理框架

    摘要:采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制基于属性的访问控制等。社区进展目前正在积极向社区进行推送,目前通过插件的方式已经支持与等框架进行集成,将来会推广到更多框架以及社区。 showImg(https://segmentfault.com/img/bVbaqwU?w=512&h=128); jCasbin是一个用Java语言打造的轻量级开源访问控制框架(...

    LeexMuller 评论0 收藏0
  • jCasbin支持MAC、RBAC、ABAC多种模型Java权限管理框架

    摘要:采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制基于属性的访问控制等。社区进展目前正在积极向社区进行推送,目前通过插件的方式已经支持与等框架进行集成,将来会推广到更多框架以及社区。 showImg(https://segmentfault.com/img/bVbaqwU?w=512&h=128); jCasbin是一个用Java语言打造的轻量级开源访问控制框架(...

    Imfan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<