auth简单鉴权

startmvc php框架学习社区

技术交流社区
auth简单鉴权
mortal 普通会员 时间:2024-09-22 09:50:14 浏览:216

一个auth的简单鉴权

可根据角色,权限节点,给用户分配指定的权限

使用方法:

需存在三个表:用户表,角色表,权限节点表

用户表说明:账号字段:account  密码字段:password  如若使用其他字段,需修改拓展对应字段

角色表-权限字段:conditions  如若使用其他字段,需修改拓展对应字段

权限节点表:conditions  type  state  如若使用其他字段,需修改拓展对应字段

字段描述说明
idIDinteger
pid父节点IDinteger
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*',//超级权限标识


鉴权配置依赖配置文件,不可缺少


网盘下载:点击下载

回复列表
1个回复
admin2024-09-22 09:52:11
不错的方法回复