laravel授权使用方法(Laravel 自带的Auth验证登录方法)
类别:编程学习 浏览量:2667
时间:2021-10-20 08:26:11 laravel授权使用方法
Laravel 自带的Auth验证登录方法在laravel有自带的登录验证。只要建立对应的表和配置一些文件就能够使用,无需开发者自己去实现登录逻辑。
第一步:配置方面
在config下的auth.php配置guards 和 providers 。 之后新建文件和数据库名称要和这里的对应。
- 'guards' => [
- 'web' => [
- 'driver' => 'session',
- 'provider' => 'users',
- ],
- 'api' => [
- 'driver' => 'token',
- 'provider' => 'users',
- ],
- //Laravel Auth 验证登录
- 'admin' => [
- 'driver' => 'session',
- 'provider' => 'admins',
- ]
- ],
- 'providers' => [
- 'users' => [
- 'driver' => 'eloquent',
- 'model' => App\User::class,
- ],
- 'admins' => [
- 'driver' => 'eloquent',
- 'model' => App\Admin::class,
- ],
- // 'users' => [
- // 'driver' => 'database',
- // 'table' => 'users',
- // ],
- ],
第二步:数据库方面
1 新建admins表,作为后台用户表
其中remember_token 用于是否记住用户
2 在app目录下新建Admin.php 文件对应,文件名称取决于配置文件中的名称
- <?php
- namespace App;
- use Illuminate\Foundation\Auth\User as Authenticatable;
- class Admin extends Authenticatable
- {
- protected $fillable = [
- 'username', 'password',
- ];
- protected $hidden = [
- //remember_token 字段用于记住我的功能
- 'password', 'remember_token',
- ];
- public static $rules = [
- 'username'=>'required',
- 'password'=>'required'
- ];
- }
第三步:控制器中auth的使用
- Auth::guard('admin')->attempt($credentials)); 尝试登录
- Auth::guard($guard)->guest();判断用户是否来宾,可用于中间件,判断用户是否登录,返回false,则已经登录,反之,跳转会登录页面
- Auth::guard($guard)->user();获取已经登录的用户信息,注意在__construct()中无法获取,可以在中间件里面获取
- <?php
- namespace App\Http\Middleware;
- use Closure;
- use Illuminate\Support\Facades\Auth;
- class AdminAuthMiddleware
- {
- /**
- * Handle an incoming request.
- *
- * @param \Illuminate\Http\Request $request
- * @param \Closure $next
- * @return mixed
- */
- public function handle($request, Closure $next, $guard = null)
- {
- //如果没有指定的话,默认 guard 是 web,
- //dump(Auth::guard($guard)->check()); 判断用户是否认证
- //Auth::guard($guard)->user() 获取用户信息
- //Auth::guard($guard)->guest() 是否是来宾
- if(Auth::guard($guard)->guest()){
- if($request->ajax() || $request->wantsJson()){
- return response('Unauthorized.', 401);
- }else{
- return redirect()->guest('admin/login');
- }
- }
- return $next($request);
- }
- }
- $credentials = $request->only('username', 'password');
- /**
- * 使用laravel自带的Auth登录
- * 1、密码使用的是hash加密 $crypt = password_hash($password, PASSWORD_DEFAULT);
- */
- if(Auth::guard('admin')->attempt($credentials)){
- return response()->json(['code' => 200, 'msg' => '登录成功']);
- }else{
- return response()->json(['code' => 403, 'msg' => '用户名或密码错误']);
- }
以上这篇Laravel 自带的Auth验证登录方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
原文链接:https://blog.csdn.net/weixin_42273669/article/details/91402612
您可能感兴趣
- laravel框架详解(laravel 5.3 单用户登录简单实现方法)
- laravel数据返回格式(laravel 关联关系遍历数组的例子)
- laravel初始化(Laravel 登录后清空COOKIE的操作方法)
- laravel数据转换层(laravel通过a标签从视图向控制器实现传值)
- laravel框架如何查询空的信息(使用Laravel中的查询构造器实现增删改查功能)
- laravel怎么同时连接数据库(Laravel框架实现多个视图共享相同数据的方法详解)
- php框架laravel使用(laravel5环境隐藏index.php后缀apache的方法)
- laravel队列是如何触发的(laravel使用Faker数据填充的实现方法)
- laravel框架网站搭建教程(Laravel框架实现文件上传的方法分析)
- laravel判断变量为空(Laravel模糊查询区分大小写的实例)
- laravel获取客户端ip(对laravel的session获取与存取方法详解)
- laravel常用的辅助函数介绍(Laravel框架表单验证操作实例分析)
- laravel api 调试(Laravel框架自定义公共函数的引入操作示例)
- laravel框架入门项目(在laravel框架中使用model层的方法)
- laravel对请求参数解密(Laravel开启跨域请求的方法)
- echart图表有哪些(使用laravel和ECharts实现折线图效果的例子)
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
- 1天密接者猛增77人,患者轨迹透露危险信号 吉林市全面封闭管理(1天密接者猛增77人)
- 吉林舒兰 封城 15人确诊 276人隔离,出现跨省传播(吉林舒兰封城)
- 四月新番CP人气榜公布,《剃须》两度上榜,沙优不是女朋友(四月新番CP人气榜公布)
- 2019年外媒秋季新番动画角色CP排行榜,桐人和爱丽丝落榜(2019年外媒秋季新番动画角色CP排行榜)
- 新一小兰领衔 盘点动漫中的那些 远距离恋爱情侣(盘点动漫中的那些)
热门推荐
- dedecms搜索功能怎么设置详细(dedecms pagelist标签修改方法分享)
- docker离线安装步骤(Windows下Docker安装各种软件的详细过程)
- jQuery中noConflict()的用法
- python实用教程(Python简直是万能的,这5大主要用途你一定要知道!推荐)
- docker ip地址分配(docker添加网桥并设置ip地址范围操作)
- vue 单文件组件(vue实现一个单文件组件的完整过程记录)
- 数据库负载均衡的原理(理解web服务器和数据库的负载均衡以及反向代理)
- ftp软件filezilla安装不了(filezilla连不上FTP服务器的解决方法)
- mysql锁技术(MySQL 加锁控制并发的方法)
- zabbix 时间序列(Zabbix指定时间内变化值设置方法详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9