Laravel 自定义使用auth做登陆身份认证

做一个后台登录身份验证,并验证管理员是否登录,已登录可以进行下一步操作,未登录则跳转回登录页面!

创建 admin 表用于存放后台管理员,要实现管理员的单独登录

表结构:

CREATE TABLE `admin` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
  `name` varchar(100) DEFAULT NULL COMMENT '账号名称',
  `password` varchar(100) DEFAULT NULL COMMENT '密码',
  `addtime` int(11) DEFAULT NULL COMMENT '添加时间',
  `remember_token` varchar(100) DEFAULT NULL COMMENT 'auth认证使用的令牌',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员表';

配置 config/auth.php 配置文件:

          Laravel 自定义使用auth做登陆身份认证_第1张图片

         Laravel 自定义使用auth做登陆身份认证_第2张图片

创建Admin.php

在app下创建Admin.php文件

配置与app/User.php基本相同

         Laravel 自定义使用auth做登陆身份认证_第3张图片

视图文件

Login.blade.php文件内容

         Laravel 自定义使用auth做登陆身份认证_第4张图片

web.php路由文件

//登录
Route::match(['POST', 'GET'], '/admin/login', 'AdminLoginController@login');

控制器登录方法

         Laravel 自定义使用auth做登陆身份认证_第5张图片

模型层登录逻辑处理 使用其中被注释的方法添加测试用的管理员账号密码

         Laravel 自定义使用auth做登陆身份认证_第6张图片

web.php退出路由

//退出
Route::get('Logout', 'AdminLoginController@logout');

控制器退出方法

         Laravel 自定义使用auth做登陆身份认证_第7张图片

模型层退出业务处理

         Laravel 自定义使用auth做登陆身份认证_第8张图片

Auth退出,并清除掉自己设置的session

到这里,Auth登录、退出已经完成了!

下一步就是操作其他方法的时候验证是否登录的操作了

 

增加中间件验证

App/Http/Middleware/RedirectIfAuthenticated.php

        Laravel 自定义使用auth做登陆身份认证_第9张图片

修改app/Http/Kernel.php   增加中间件验证 在请求控制器之前首先验证中间件

        Laravel 自定义使用auth做登陆身份认证_第10张图片

路由 修改 web.php

       

未登录,如果访问,则跳转回login

        Laravel 自定义使用auth做登陆身份认证_第11张图片

已登录显示  可以调用退出方法

        Laravel 自定义使用auth做登陆身份认证_第12张图片

你可能感兴趣的:(laravel框架)