1、管理员登录中间件和注销
1、根据session去判断用户是否登录,登录后才可以进index首页,否则返回login页面,借助中间件
(1)修改路由
Route::group(['middleware' => ['web','admin.login'],'prefix'=>'admin','namespace'=>'Admin'], function () { //注册一个中间件admin.login //prefix 为路由前缀,namespace为命名空间,为下面的路由省去重复值 //路由要放中间件里面,否则会生成不了session //登录页面不能放到中间件里面,否则连登录页面都不能进入 Route::get('index','IndexController@index'); Route::get('info','IndexController@info'); });
(2)app\Kernel.php
添加admin.login一行
protected $routeMiddleware = ['auth' => \App\Http\Middleware\Authenticate::class,'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,'admin.login' => \App\Http\Middleware\Adminlogin::class,];
(3) 控制台进入项目根目录,创建中间件
php artisan make:middleware Adminlogin
修改app\Http\Middleware\Adminlogin.php
<?phpnamespace App\Http\Middleware;use Closure;class Adminlogin {/*** Handle an incoming request.** @param \Illuminate\Http\Request $request* @param \Closure $next* @return mixed*///如果session('user')为空,则返回登录页面public function handle($request, Closure $next){if(!session('user')){return redirect('admin/login');}return $next($request);} }
View Code
验证:
进入LoginController.php,login方法中,清除session
访问admin/login页面的时候,session信息被清除
session(['user'=>null]); return view('admin.login');
此时:当用户登录后才可以进入index页面,重新开启另一个login页面,session被清,再返回刚刚的index页面,刷新,跳转到登录页面(测试完,注释掉session一句)
2、首页退出功能
(1) 添加路由
Route::get('quit','LoginController@quit');
(2)LoginController.php 添加quit方法
public function quit() {session(['user'=>null]);return redirect('admin/login'); }
(3)修改index.blade.php,完善退出按钮
<li><a href="{{url('admin/quit')}}">退出</a></li>
验证:
用户登录之后,进入index页面,点击退出之后,跳转到login页面,此时session被清除,单独访问index则会跳转到login页面
转载于:https://www.cnblogs.com/guduoer/p/6343542.html
1、管理员登录中间件和注销相关推荐
- 【超详细Django网站开发过程9】便利店管理系统之——管理员登录、注销功能
管理系统当然要有管理员登录功能啦,怎么做呢? Lynjay的便利店管理系统,登录API如下: 1.请求消息: POST /api/mgr/signin HTTP/1.1 Content-Type: a ...
- 后台userlist.php,后台用户管理(管理员登录后管理会员)
[预备知识] 一.PHP访问MySQL数据库 1.连接到MySQL数据库 $conn=mysql_connect("localhost","root",&quo ...
- Win10系统超级管理员登录和更改用户名
win10系统超级管理员登录 1.开启超级管理员登录 用管理员身份运行cmd,输入 net user administrator /active:yes ok现在超管已经打开,注销本用户使用超管登录便 ...
- 聚星Note04 - 管理员登录
聚星Note04 - 管理员登录 1 整合静态资源 1.1 关联登录请求地址和视图 1.2 维护项目所需常量类 1.3 小技巧 - idea 正常显示子包 1.4 修饰 system-error.js ...
- Oracle 数据库设置最大进程数参数方法,oracle最大进程数满了处理方法,sysdba管理员登录报“maximum number of processes (150) exceeded“问题解决
oracle 数据库使用 sysdba 管理员登录报: ORA-00020: maximum number of processes (150) exceeded 译:超过了最大进程数(150) 方法 ...
- BCrypt管理员登录密码验证
一.简单入门测试 BCrypt不支持反运算,只支持密码校验 package com.william.test;import org.springframework.security.crypto.bc ...
- java管理员登录_idea实现管理员登录javaweb
mysql创建db_0106数据库, 创建表 添加一条数据,id int自增,密码:为MD5加密 insert into tb_sys values(null,admin,MD5(123)," ...
- 管理员用户不同身份登录页面代码PHP,wordpress管理员登录和普通用户登录后跳转到不同页面-♚付涛纪实阁♚...
这篇文章将向您展示WordPress用户登录后如何重定向到指定页面或者文章的技巧. 一.重定向到网站管理面板. 将以下代码添加到您的当前主题的 functions.php 文件中 二.重定向到指定页面 ...
- day02【后台】管理员登录
day02[后台]管理员登录 1.创建常量类 创建常量类,用于管理整个系统中所用到的常量 public class CrowdConstant {public static final String ...
最新文章
- linux top 报错 TERM environment variable not set.
- nginx 部署静态网页
- Annotation 注解
- 7000更换控制器电源步骤_开关电源控制环路(初级篇:上)
- 聊聊如何才能进大厂实习~
- Netty学习笔记(六) 简单的聊天室功能之WebSocket客户端开发实例
- 1.极限——例子_3
- iPhone SE 3最高机身内存将增至256GB 较当前版本翻番
- ap sat_新手必读:7个问题分清SAT、AP、托福考试
- Ubuntu与CentOS的区别
- 【R图秀-2】社交网络数据可视化(一)
- Angr安装与使用之使用篇(十四)
- 数据结构c语言描述 试题,数据结构c语言版试题大全(含答案)
- 人人网主页登录_人人网回归了!历史记录全保留!前男(女)友们的黑历史就要被重新翻开了...
- 91p3.space/index.php,writeup_for_SCTF2016
- Android 程序员的技术栈大全(1),中高级Android面试题目汇总解答
- 《西游记》取经路线图|思维导图简单又漂亮
- jenkins安装下载
- Golang Append()详解
- 数据中心服务器机柜电气参数,数据中心服务器机柜一些安装与参数
热门文章
- c语言 二进制输出_收藏!C语言入门基础知识大全
- 【转载】interpolation(插值)和 extrapolation(外推)的区别
- GStreamer基础教程07 - 播放速率控制
- 面向对象之反射、包装、(定制)
- 完成聊天室的私聊功能
- Python 开篇及第一个Python程序
- [物理学与PDEs]第1章第6节 电磁场的标势与矢势 6.3 例 --- 电偶极辐射
- linux清理备份日志,服务器日志清理备份
- c java c时间格式处理_c:foreach 对时间类型进行格式化
- 公司网页添加旺旺,状态不正确