fix: 修复登录缓存BUG

This commit is contained in:
Ying
2022-08-22 19:07:32 +08:00
parent 6e1b38a34b
commit 257cb95123
9 changed files with 74 additions and 57 deletions

View File

@@ -16,10 +16,9 @@ class AdminLogin implements MiddlewareInterface
{
public function process(Request $request, callable $handler) : Response
{
$_security = Auth::instance()->getToken('_security');
$_buildToken = 'salt_' . $_security;
if (empty($_security) || !Cache::get($_buildToken)) {
$request->session()->delete('AdminLogin');
$AdminLogin = \request()->session()->get(AdminSession);
if (!isset($AdminLogin['_security'])) {
$request->session()->delete(AdminSession);
return response(request_error(), 404);
}

View File

@@ -48,14 +48,17 @@ class AdminPermissions implements MiddlewareInterface
$app = request()->getApp();
$controller = request()->getController();
$action = request()->getAction();
$AdminLogin = request()->session()->get('AdminLogin');
$AdminLogin = request()->session()->get(AdminSession);
if (!isset($AdminLogin['id']) && strtolower($controller) !== 'login') {
return redirect(url('/login/index'));
}
// 判断是否需要鉴权
$request->adminId = $AdminLogin['id'] ?? 0;
$request->adminInfo = $AdminLogin ?? [];
$method = '/' . $controller. '/' .$action;
if (!in_array($method, $this->noNeedAuth) && !in_array('*', $this->noNeedAuth)) {
if (!Auth::instance()->SuperAdmin() && !Auth::instance()->check($method, $AdminLogin['id'])) {
if (!Auth::instance()->SuperAdmin() && !Auth::instance()->check($method, $request->adminId)) {
if (request()->isAjax()) {
return json(['code' => 101, 'msg' => '没有权限']);
} else {
@@ -64,10 +67,7 @@ class AdminPermissions implements MiddlewareInterface
}
}
/**
* 分发请求
* 控制器中间件
*/
// 控制器中间件分发
$id = input('id');
if (\request()->isPost()) {
if ($controller == 'system/Admin') {