您好,登錄后才能下訂單哦!
這篇文章主要介紹如何解決laravel5中auth用戶登錄其他頁面獲取不到登錄信息的問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
首先創建user表,里面有:id, name, password,remember_token等字段。
然后再Models添加表模型User.php
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; use DB; class User extends Model implements AuthenticatableContract { protected $table = 'user'; protected $primarykey = 'id'; public $timestamps = false; protected $fillable = ['user_name', 'password', 'user_phone', 'user_email', 'user_role_id', 'user_avart', 'user_sex', 'user_age', 'user_birthday', 'last_login_ip', 'last_login_time', 'is_disabled', 'remember_token']; /** * Get the unique identifier for the user. * * @return mixed */ public function getAuthIdentifier(){ return $this->getKey(); } /** * Get the password for the user. * * @return string */ public function getAuthPassword(){ return $this->password; } /** * Get the token value for the "remember me" session. * * @return string */ public function getRememberToken() { return $this->{$this->getRememberTokenName()}; } /** * Set the token value for the "remember me" session. * * @param string $value * @return void */ public function setRememberToken($value) { $this->{$this->getRememberTokenName()} = $value; } /** * Get the column name for the "remember me" token. * * @return string */ public function getRememberTokenName() { return 'remember_token'; } }
然后需要在配置文件config/auth.php中修改如下配置:
'model' => App\Models\User::class, //指定模型 'table' => 'user', //指定用戶表(user是我數據中儲存用戶的表)
接著在登錄方法里使用Auth::login() 方法登錄,如下:
public function store(Request $request) { if(empty($request->get('chkCode')) || trim($request->get('chkCode')) != trim(Session::get('admincaptcha'))){ $error->add('result','驗證碼不正確'); return back()->withErrors($error); } $adminUser = User::where('user_name',$request->get('user_name'))->where('user_role_id', '>', 0)->first(); if(empty($adminUser)){ $error->add('result','用戶無后臺權限'); return back()->withErrors($error); }else{ if (md5($request->get('user_pwd'))===$adminUser->password&&$adminUser->user_role_id){ Auth::login($adminUser); Session::put('admincaptcha', ""); return redirect()->route('admin.home'); }else{ $error->add('result','用戶名或密碼錯誤'); return back()->withErrors($error); } } }
然而雖然這個頁面可以獲取到登錄信息,然而其他頁面卻沒有,原來是因為id和密碼我用的是user_id和user_pwd不是id和password,這兩個必須不能變,改了之后可以正常登錄。
以上是“如何解決laravel5中auth用戶登錄其他頁面獲取不到登錄信息的問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。