解决laravel5中auth用户登录其他页面获取不到登录信息的问题
时间:2022-07-27
本文章向大家介绍解决laravel5中auth用户登录其他页面获取不到登录信息的问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
首先创建user表,里面有:id, name, password,remember_token等字段。
然后再Models添加表模型User.php
<?php
namespace AppModels;
use IlluminateDatabaseEloquentModel;
use IlluminateContractsAuthAuthenticatable 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' = AppModelsUser::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用户登录其他页面获取不到登录信息的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。
- 零基础学编程035:群发邮件并不难
- 零基础学编程024:如何快速学会SQL?
- 机器学习的基础讲解:神经网络
- 零基础学编程023:用with实现优雅地释放资源
- Start transaction not working with Revit 2014
- 零基础学编程034:解决一个pandas问题
- ShellExecute 启动外部程序 参数详细介绍
- 零基础学编程033:字符串的split拆分与join连接
- 零基础学编程032:生成二维码
- C#,一些非常简单但应该知道的知识点
- C#神奇的扩展方法
- 使用Python制作一个简单的刷博器
- 零基础学编程031:Python与其它语言最不同的一条语法规则
- dedecms批量导出新增文章url和标题
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- npm -i 与npm install -S与-D的区别以及dependencies与devDependencies的区别
- axios POST提交数据的三种请求方式写法
- 将资源文件编译成源代码文件
- 一道简单的笔试题_时钟切换电路(Glitch-free clock switching circuit)
- 【STM32F429开发板用户手册】第26章 STM32F429的定时器应用之TIM1-TIM14的中断实现
- 【STM32F407开发板用户手册】第26章 STM32F407的定时器应用之TIM1-TIM14的中断实现
- ATTR节点应用
- 等待队列
- samba
- gpio_key按键驱动
- Linux中断下半部实现机制
- linux中led驱动(设备树)编程笔记
- POLL机制
- C语言规范_V1.1
- 滑动窗口