国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

[已解決]關(guān)于webman-admin的session無(wú)法讀取到緩存問(wèn)題

楚羽幽

bug描述

在AccountController這個(gè)控制器里面的代碼,session這個(gè)函數(shù)讀取session里面的緩存驗(yàn)證碼時(shí),無(wú)法讀取
runtime和vendor目錄已經(jīng)給了寫入權(quán)限了,并且runtime目錄的session確實(shí)是已經(jīng)生成了session的緩存
我這邊打印看了一下,session這個(gè)函數(shù)里面沒(méi)有captcha-login這個(gè)參數(shù)

看了一下session工具的運(yùn)行原理是從請(qǐng)求頭里面的cookie里面拿到PHPSID來(lái)進(jìn)行獲取緩存數(shù)據(jù)然后進(jìn)行比對(duì),但我的瀏覽器卻是每一次請(qǐng)求都是一個(gè)全新的PHPSID

該問(wèn)題在群友的幫助下已解決?。。?!

主要問(wèn)題是nginx的proxy_cookie_path / "/; HttpOnly; SameSite=strict";配置不能有secure參數(shù),這個(gè)參數(shù)只有https協(xié)議才能傳遞cookie

程序代碼或配置

代碼文件:plugin/admin/app/controller/common/AccountController.php

public function login(Request $request){
$captcha = $request->post('captcha');
print_r(session());
if (strtolower($captcha) !== session('captcha-login')) {
return $this->json(1, '驗(yàn)證碼錯(cuò)誤');
}
$request->session()->forget('captcha-login');
$username = $request->post('username', '');
$password = $request->post('password', '');
if (!$username) {
return $this->json(1, '用戶名不能為空');
}
$this->checkLoginLimit($username);
$admin = Admin::where('username', $username)->first();
if (!$admin || !Util::passwordVerify($password, $admin->password)) {
return $this->json(1, '賬戶不存在或密碼錯(cuò)誤');
}
$this->removeLoginLimit($username);
$admin = $admin->toArray();
$session = $request->session();
unset($admin['password']);
$admin['roles'] = $admin['roles'] ? explode(',', $admin['roles']) : [];
$session->set('admin', $admin);
return $this->json(0, '登錄成功', [
'nickname' => $admin['nickname'],
'token' => $request->sessionId(),
]);
}
1564 0 2
0個(gè)回答

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??