denept / thinkcms-auth
The ThinkPHP5 thinkcms-auth Package.
dev-master
2020-06-16 06:20 UTC
This package is auto-updated.
Last update: 2024-09-16 15:41:36 UTC
README
安装
> composer require denept/thinkcms-auth
v1.0.0
配置 1.0.0
'thinkcms' =>[
'style_directory' => '/static/admin/',
'session_prefix' => 'auth_',
]
可以不配置 配置以后Js css文件需要放到配置的目录里
手动加入日志 1.0.0
$auth = new Auth();
$auth->admin = $list['user_name'];
$auth->createLog('管理员<spen style=\'color: #1dd2af;\'>[ {name} ]</spen>偷偷的进入后台了,','后台登录');
视图调用
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,'页面不存在');
}
在模块中创建一个Auth控制器,把_empty方法复制上去,这样就可以访问以下视图
- /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 行为日志
- /auth/viewLog.html 查看日志
- /auth/clear.html 清空日志
- /auth/adminAuthorize.html 独立权限
权限认证
public function __construct()
{
parent::__construct();
$auth = new Auth();
$auth->noNeedCheckRules = ['index/index/index','index/index/home'];
$auth->log = true; // 日志开关默认true
$user = $auth::is_login();
if($user){//用户登录状态
$this->uid = $user['uid'];
if(!$auth->auth()){
return $this->error("你没有权限访问!");
}
}else{
return $this->error("您还没有登录!",url("publics/login"));
}
}
这里在公共控制器上加入验证即可
##管理员独立权限
url('auth/adminAuthorize',['id' => '用户ID','name'=>'用户昵称'])
授权菜单
Auth::menuCheck();
这个方法返回授权及非隐藏的所有菜单,这样我们后台的菜单就可以根据管理员的权限来来展示授权的目录
mysql文件
dbo_action_log.sql
dbo_auth_access.sql
dbo_auth_role.sql
dbo_auth_role_user.sql
dbo_auth_rule.sql
dbo_menu.sql