解决laravel5中auth用户登录其他页面获取不到登录信息的问题
首先创建user表,里面有:id,name,password,remember_token等字段。
然后再Models添加表模型User.php
getKey(); } /** *Getthepasswordfortheuser. * *@returnstring */ publicfunctiongetAuthPassword(){ return$this->password; } /** *Getthetokenvalueforthe"rememberme"session. * *@returnstring */ publicfunctiongetRememberToken() { return$this->{$this->getRememberTokenName()}; } /** *Setthetokenvalueforthe"rememberme"session. * *@paramstring$value *@returnvoid */ publicfunctionsetRememberToken($value) { $this->{$this->getRememberTokenName()}=$value; } /** *Getthecolumnnameforthe"rememberme"token. * *@returnstring */ publicfunctiongetRememberTokenName() { return'remember_token'; } }
然后需要在配置文件config/auth.php中修改如下配置:
'model'=>App\Models\User::class,//指定模型 'table'=>'user',//指定用户表(user是我数据中储存用户的表)
接着在登录方法里使用Auth::login()方法登录,如下:
publicfunctionstore(Request$request) { if(empty($request->get('chkCode'))||trim($request->get('chkCode'))!=trim(Session::get('admincaptcha'))){ $error->add('result','验证码不正确'); returnback()->withErrors($error); } $adminUser=User::where('user_name',$request->get('user_name'))->where('user_role_id','>',0)->first(); if(empty($adminUser)){ $error->add('result','用户无后台权限'); returnback()->withErrors($error); }else{ if(md5($request->get('user_pwd'))===$adminUser->password&&$adminUser->user_role_id){ Auth::login($adminUser); Session::put('admincaptcha',""); returnredirect()->route('admin.home'); }else{ $error->add('result','用户名或密码错误'); returnback()->withErrors($error); } } }
然而虽然这个页面可以获取到登录信息,然而其他页面却没有,原来是因为id和密码我用的是user_id和user_pwd不是id和password,这两个必须不能变,改了之后可以正常登录。
以上这篇解决laravel5中auth用户登录其他页面获取不到登录信息的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。