[請益] Laravel5.3 Auth::check() 問題
各位先進好
小弟目前手上有個專案需使用「現成不可變動」(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
11/03 11:49, 1F
→
11/03 11:50, , 2F
11/03 11:50, 2F