解决laravel5中auth用户登录其他页面获取不到登录信息的问题

今天小编就为大家分享一篇解决laravel5中auth用户登录其他页面获取不到登录信息的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

首先创建user表,里面有:id, name, password,remember_token等字段。

然后再Models添加表模型User.php

 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用户登录其他页面获取不到登录信息的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持html中文网。

以上就是解决laravel5中auth用户登录其他页面获取不到登录信息的问题的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » PHP编程