解決laravel5中auth用戶登錄其他頁面獲取不到登錄信息的問題
首先創(chuàng)建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是我數(shù)據(jù)中儲存用戶的表)
接著在登錄方法里使用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用戶登錄其他頁面獲取不到登錄信息的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
yii2 RBAC使用DbManager實現(xiàn)后臺權限判斷的方法
這篇文章主要介紹了yii2 RBAC使用DbManager實現(xiàn)后臺權限判斷的方法,結合實例形式較為詳細的分析了Yii2權限控制的原理與相關技巧,需要的朋友可以參考下2016-07-07
Laravel如何實現(xiàn)適合Api的異常處理響應格式
這篇文章主要給大家介紹了關于Laravel如何實現(xiàn)適合Api的異常處理響應格式的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Laravel具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-06-06
php resizeimage 部分jpg文件 生成縮略圖失敗的原因分析及解決辦法
這篇文章主要介紹了php resizeimage 部分jpg文件 生成縮略圖失敗的原因分析及解決辦法的相關資料,需要的朋友可以參考下2016-03-03
ThinkPHP無限級分類原理實現(xiàn)留言與回復功能實例
這篇文章主要介紹了ThinkPHP無限級分類原理實現(xiàn)留言與回復功能實例,并附帶有完整的項目源碼下載供大家學習參考,非常具有實用價值,需要的朋友可以參考下2014-10-10

