[請益] Laravel5.3 Auth::check() 問題

看板PHP作者 (豆腐熊)時間7年前 (2016/11/01 10:31), 7年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
各位先進好 小弟目前手上有個專案需使用「現成不可變動」(oracle)的資料表做登入 priKey 的欄位是char(6) 內容會儲存 5 或是 6 碼的數字不重複 例如 "12345 "(char 未滿六碼會自動補空格)、"654321" 在Model中已經設好 protected $table = 'logintable'; public $incrementing = false; protected $primaryKey = 'acct'; 自行撰寫的LoginController 大致如下 $acct = sprintf('%-6s', $request->input('acct')); $pwd = $request->input('pwd'); $user = \App\Logintable::find($acct); if(empty($user) || $user->pwd != $pwd ){ //登入失敗 throw new Exception(....); } //驗證成功登入,且不使用remember_token Auth::login($user, false); //轉到有受 middleware: auth 保護的頁面 return redirect('/home'); =================================================================== 問題來了 當使用 "654321" 登入的時候,可以很正常的連到 /home 但使用 "12345 " 登入的時候,在return redirect('/')前使用 dd(Auth::user()); 確認都能正確取得實例 可是一跳轉頁面之後就會自動被laravel視為未登入跳回 login畫面 登入成功時的 session 在redirect後被刪除掉了 請問除了不使用Auth 自行撰寫登入功能外 有其他的方法能使Auth正常運作的嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.204.64.19 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1477967479.A.06F.html ※ 編輯: DOPIPI (180.204.64.19), 11/01/2016 10:33:43 ※ 編輯: DOPIPI (180.204.64.19), 11/01/2016 10:35:48

11/03 11:49, , 1F
你的 "12345 " 我覺得應該被 trim 過了
11/03 11:49, 1F

11/03 11:50, , 2F
所以 "12345" 不會等於 "12345 "
11/03 11:50, 2F
文章代碼(AID): #1O5_vt1l (PHP)