做一个后台登录身份验证,并验证管理员是否登录,已登录可以进行下一步操作,未登录则跳转回登录页面!
创建 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 配置文件:
创建Admin.php
在app下创建Admin.php文件
配置与app/User.php基本相同
视图文件
Login.blade.php文件内容
web.php路由文件
//登录
Route::match(['POST', 'GET'], '/admin/login', 'AdminLoginController@login');
控制器登录方法
模型层登录逻辑处理 使用其中被注释的方法添加测试用的管理员账号密码
web.php退出路由
//退出
Route::get('Logout', 'AdminLoginController@logout');
控制器退出方法
模型层退出业务处理
Auth退出,并清除掉自己设置的session
到这里,Auth登录、退出已经完成了!
下一步就是操作其他方法的时候验证是否登录的操作了
增加中间件验证
App/Http/Middleware/RedirectIfAuthenticated.php
修改app/Http/Kernel.php 增加中间件验证 在请求控制器之前首先验证中间件
路由 修改 web.php
未登录,如果访问,则跳转回login
已登录显示 可以调用退出方法