PHP-Casbin是一个用PHP构建的轻量级开源访问控制框架(https://github.com/php-casbin...),目前在GitHub上开源。PHP-Casbin采用元模型的设计思想,支持多种经典访问控制方案,如基于角色的访问控制RBAC、基于属性的访问控制ABAC等。Yii-Casbin是为Yii定制的Casbin扩展包2.0(https://github.com/php-casbin...)。通过composer安装在Yii2.0项目中安装,通过composer安装这个扩展:composerrequirecasbin/yii-adapterconfiguration使用这个扩展时,需要在你的应用配置中配置Casbin类:return[//....'components'=>['casbin'=>['class'=>'\CasbinAdapter\Yii\Casbin',/**Yii-casbin模型设置。*/'model'=>[//可用设置:"file","text"'config_type'=>'file','config_file_path'=>'/path/to/casbin-model.conf','config_text'=>'',],//Yii-casbin适配器.'adapter'=>'\CasbinAdapter\Yii\Adapter',/**Yii-casbin数据库设置。*/'database'=>[//下表的数据库连接。'connection'=>'',//CasbinRule表和模型。'casbin_rules_table'=>'{{%casbin_rule}}',],],]];通过casbin组件基本访问Casbin:$casbin=\Yii::$app->casbin;$sub='爱丽丝';//想要访问资源的用户。$obj='data1';//将要访问的资源。$act='阅读';//用户对资源执行的操作。if(true===$casbin->enforce($sub,$obj,$act)){//允许alice读取data1}else{//拒绝请求,显示错误}自定义模型规则casbin支持多种模型rules:支持的模型。CasbinCasbin官网:https://casbin.org
