解决laravel5中auth用户登录其他页面获取不到登录信息的问题
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-28 10:40:53 浏览: 评论:0
今天小编就为大家分享一篇解决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(emptyempty($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(emptyempty($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,这两个必须不能变,改了之后可以正常登录。
Tags: laravel5用户登录 auth
相关文章
- ·Drupal模块讲解-Authcache缓存原理详解教程(2015-04-15)
- ·Drupal的模块高级应用之Authcache-动态加载内容教程(2015-04-15)
- ·Codeigniter整合Tank Auth权限类库详解(2021-02-18)
- ·laravel容器延迟加载以及auth扩展详解(2021-05-15)
- ·Yii2中OAuth扩展及QQ互联登录实现方法(2021-08-06)
- ·Laravel5.5中利用Passport实现Auth认证的方法(2021-08-22)
- ·Laravel 5.5基于内置的Auth模块实现前后台登陆详解(2021-08-25)
- ·基于Laravel Auth自定义接口API用户认证的实现方法(2021-10-10)
- ·Laravel框架Auth用户认证操作实例分析(2021-12-24)
- ·Laravel 自带的Auth验证登录方法(2021-12-25)
- ·laravel实现Auth认证,登录、注册后的页面回跳方法(2021-12-25)
- ·解决Laravel5.2 Auth认证退出失效的问题(2022-01-02)
- ·解决在laravel中auth建立时候遇到的问题(2022-01-05)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)