startmvc php框架学习社区
一个auth的简单鉴权
可根据角色,权限节点,给用户分配指定的权限
使用方法:
需存在三个表:用户表,角色表,权限节点表
用户表说明:账号字段:account 密码字段:password 如若使用其他字段,需修改拓展对应字段
角色表-权限字段:conditions 如若使用其他字段,需修改拓展对应字段
权限节点表:conditions type state 如若使用其他字段,需修改拓展对应字段
字段 | 描述 | 说明 |
---|---|---|
id | ID | integer |
pid | 父节点ID | integer |
name | 节点名称 | 首页 |
conditions | 节点路由 | 路由地址,小写,例:admin/index/index |
type | 类型 | 1:登录且具有权限,2仅登录 |
state | 状态 | 1:开启,2:关闭 |
下载拓展包,根目录解压即可,解压前检查是否有重名配置文件和拓展文件!
使用方法:
use extend\Auth;
$url = MODULE . DS . CONTROLLER . DS . ACTION;//获取当前访问路由地址
$auth = $this->auth->check_auth(1,$url);//(用户id,需要鉴权的地址$url)
成功返回true
失败返回:
[
'code'=-1,
'msg'='详细信息',
]
此拓展还具有登录校验:
$user['account'] = 'admin';
$user['password'] = '123456';
$this->auth->checkuser($user);
默认采用password_hash密码加密验证方式
成功返回用户详细信息
失败返回:
[
'code'=-1,
'msg'='详细信息',
]
登录信息校验
$user['account'] = 'admin';
$this->auth->check_login($user);
可以校验登录是否过期,当前登录账号是否一致
成功返回true
失败返回:
[
'code'=-1,
'msg'='详细信息',
]
config/auth.php拓展配置说明:
'user_table'=>'admin_user',//管理员表名 不带前缀
'auth_table'=>'admin_role',//权限角色表
'auth_id'=>'authid',//权限绑定字段
'auth_menu'=>'admin_menu',//权限节点配置表
'login_state'=>'admin_login_info',//记录登录状态的Cache Key
'auth_type'=>1,//认证方式,1为实时校验;2为登录后校验。
'auth_super'=>'*ALL*',//超级权限标识
鉴权配置依赖配置文件,不可缺少
网盘下载:点击下载