thinkphp5 rbac auth 权限认证 附加后台

浏览:16497 最后更新:2017-08-02 13:28 分类:类库 关键字: rbac auth 权限认证 行为日志
文件上传不上去加群(489771818)下载DEMO
安装    composer require zouxiang0639/thinkcms-auth 代码案例 public function _empty($name)
    {
        $auth =  new \thinkcms\auth\Auth();
        $auth = $auth->autoload($name);
        if($auth){
            if(isset($auth['code'])){
                return json($auth);
            }elseif(isset($auth['file'])){
                return $auth['file'];
            }

            $this->view->engine->layout(false);
            return $this->fetch($auth[0],$auth[1]);
        }
     return abort(404,'页面不存在');
    }
创建一个控制器把这个_empty方法加进去会渲染rbac视图,这个我就不多讲了待会看图
## 手动加入日志    $auth = new Auth();
    $auth->admin = $list['user_name'];
    $auth->createLog('管理员<spen style=\'color: #1dd2af;\'>[ {name} ]</spen>偷偷的进入后台了,','后台登录');
v1.1.1新加入方法is_login()                              判断是否登录
login($uid 用户ID,$nickname 用户昵称)    用户登录
logout()                               用户退出
checkPath($path 路由,$param 参数)       检查路由是否有权限 ,可以做按钮权限判断( 已经加入助手函数可以直接使用)
注 更新废弃函数输入用户ID 和 用户昵称 ,加入 按钮的路由权限判断,
路由目录
/auth/role.html 角色列表
/auth/roleAdd.html 角色添加
/auth/roleEdit.html 角色修改
/auth/authorize/id/2.html 权限设置
/auth/menu.html 菜单列表
/auth/menuAdd.html 菜单增加
/auth/menuEdit.html 菜单修改
/auth/log.html 行为日志 新v1.1
/auth/viewLog.html 查看日志 新v1.1
/auth/clear.html 清空日志 新v1.1
/auth/adminAuthorize.html 独立权限 新v1.1.2    public function __construct()
        {
            parent::__construct();
            $auth                   = new Auth();
            $auth->noNeedCheckRules = ['index/index/index','index/index/home'];
            $auth->log              = true;                 // v1.1版本  日志开关默认true
            $user                   = $auth::is_login();

            if($user){//用户登录状态
                $this->uid = $user['uid'];
                if(!$auth->auth()){
                    return $this->error("你没有权限访问!");
                }
            }else{
                return $this->error("您还没有登录!",url("publics/login"));
            }
        }
这个是base控制器
$auth->noNeedCheckRules 为不需要权限认证的Url
$auth->auth 权限认证方法
到了这里你的权限rbac就搞定了
后台账户密码 admin admin Auth::menuCheck();这个方法返回授权及非隐藏的所有菜单,这样我们后台的菜单就可以根据管理员的权限来来展示授权的目录


权限条件设置

假设我们需要index/extend/edit/id/875.html在这个rul上面设置权限只有*角色能打开ID=875 的应用编辑,那我们就可以在
[参数] = id=875 这里是菜单上的URL使用
[验证规则] = {id}==875 这里是权限认证条件判断 ({id}<=1 && {id} >=1 || in_array({id},[1,2,4,5] ) )




安装地址

https://github.com/zouxiang0639/thinkcms-auth
https://packagist.org/packages/zouxiang0639/thinkcms-auth

如果上面两个都不会安装的 可以直接下载 v1.1.1/download/875.html
或者加入 489771818 QQ群

这期就开发到这里,如果大家支持觉得好用喔会在增加两个功能
1.操作日志
2.生成菜单

我就上图了反正案例已经打包需要的童鞋直接下载即可体验









评论( 相关
后面还有条评论,点击查看>>