添加网站文件
This commit is contained in:
57
application/admin/http/middleware/Auth.php
Normal file
57
application/admin/http/middleware/Auth.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeshop100%开源免费商用商城系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | 商业版本务必购买商业授权,以免引起法律纠纷
|
||||
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||
// | github下载:https://github.com/likeshop-github
|
||||
// | 访问官网:https://www.likeshop.cn
|
||||
// | 访问社区:https://home.likeshop.cn
|
||||
// | 访问手册:http://doc.likeshop.cn
|
||||
// | 微信公众号:likeshop技术社区
|
||||
// | likeshop团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeshopTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
|
||||
namespace app\admin\http\middleware;
|
||||
|
||||
use app\admin\cache\RoleNoneAuthCacheUris;
|
||||
|
||||
class Auth
|
||||
{
|
||||
/**
|
||||
* 权限控制
|
||||
* @param $request
|
||||
* @param \Closure $next
|
||||
* @return mixed|\think\response\Redirect
|
||||
*/
|
||||
public function handle($request, \Closure $next)
|
||||
{
|
||||
|
||||
//未登录的无需权限控制
|
||||
if (empty(session('admin_info'))) {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
//如果id为1,视为系统超级管理,无需权限控制
|
||||
if (session('admin_info.id') == 1) {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
//权限控制判断
|
||||
$controller_action = $request->controller() . '/' . $request->action();////当前访问
|
||||
$controller_action = strtolower($controller_action);
|
||||
$auth_cache = new RoleNoneAuthCacheUris(session('admin_info.role_id'), ['role_id' => session('admin_info.role_id')]);
|
||||
$none_auth = $auth_cache->set(3600);
|
||||
if (empty($none_auth) || !in_array($controller_action, $none_auth)) {
|
||||
//通过权限控制
|
||||
return $next($request);
|
||||
}
|
||||
return redirect('dispatch/dispatch_error',['msg' => '权限不足,无法访问']);
|
||||
}
|
||||
}
|
||||
74
application/admin/http/middleware/Login.php
Normal file
74
application/admin/http/middleware/Login.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeshop100%开源免费商用商城系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | 商业版本务必购买商业授权,以免引起法律纠纷
|
||||
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||
// | github下载:https://github.com/likeshop-github
|
||||
// | 访问官网:https://www.likeshop.cn
|
||||
// | 访问社区:https://home.likeshop.cn
|
||||
// | 访问手册:http://doc.likeshop.cn
|
||||
// | 微信公众号:likeshop技术社区
|
||||
// | likeshop团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeshopTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\admin\http\middleware;
|
||||
|
||||
|
||||
use app\admin\logic\LoginLogic;
|
||||
use app\admin\server\LoginServer;
|
||||
|
||||
class Login
|
||||
{
|
||||
/**
|
||||
* 登录验证
|
||||
* @param $request
|
||||
* @param \Closure $next
|
||||
* @return mixed|\think\response\Redirect
|
||||
*/
|
||||
public function handle($request, \Closure $next)
|
||||
{
|
||||
//已登录的访问登录页
|
||||
if (session('admin_info') && !$this->isNotNeedLogin($request)) {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
//已登录的访问非登录页
|
||||
if (session('admin_info') && $this->isNotNeedLogin($request)) {
|
||||
return redirect('index/index');
|
||||
}
|
||||
|
||||
//未登录的访问非登录页
|
||||
if (!session('admin_info') && $this->isNotNeedLogin($request)) {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
//未登录访问登录页
|
||||
return redirect('account/login');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 是否免登录验证
|
||||
* @param $request
|
||||
* @return bool
|
||||
*/
|
||||
private function isNotNeedLogin($request)
|
||||
{
|
||||
$data = app()->controller($request->controller())->like_not_need_login;
|
||||
if (empty($data)) {
|
||||
return false;
|
||||
}
|
||||
$action = strtolower($request->action());
|
||||
$data = array_map('strtolower', $data);
|
||||
if (!in_array($action, $data)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user