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、管理员登录中间件和注销相关推荐

  1. 【超详细Django网站开发过程9】便利店管理系统之——管理员登录、注销功能

    管理系统当然要有管理员登录功能啦,怎么做呢? Lynjay的便利店管理系统,登录API如下: 1.请求消息: POST /api/mgr/signin HTTP/1.1 Content-Type: a ...

  2. 后台userlist.php,后台用户管理(管理员登录后管理会员)

    [预备知识] 一.PHP访问MySQL数据库 1.连接到MySQL数据库 $conn=mysql_connect("localhost","root",&quo ...

  3. Win10系统超级管理员登录和更改用户名

    win10系统超级管理员登录 1.开启超级管理员登录 用管理员身份运行cmd,输入 net user administrator /active:yes ok现在超管已经打开,注销本用户使用超管登录便 ...

  4. 聚星Note04 - 管理员登录

    聚星Note04 - 管理员登录 1 整合静态资源 1.1 关联登录请求地址和视图 1.2 维护项目所需常量类 1.3 小技巧 - idea 正常显示子包 1.4 修饰 system-error.js ...

  5. Oracle 数据库设置最大进程数参数方法,oracle最大进程数满了处理方法,sysdba管理员登录报“maximum number of processes (150) exceeded“问题解决

    oracle 数据库使用 sysdba 管理员登录报: ORA-00020: maximum number of processes (150) exceeded 译:超过了最大进程数(150) 方法 ...

  6. BCrypt管理员登录密码验证

    一.简单入门测试 BCrypt不支持反运算,只支持密码校验 package com.william.test;import org.springframework.security.crypto.bc ...

  7. java管理员登录_idea实现管理员登录javaweb

    mysql创建db_0106数据库, 创建表 添加一条数据,id int自增,密码:为MD5加密 insert into tb_sys values(null,admin,MD5(123)," ...

  8. 管理员用户不同身份登录页面代码PHP,wordpress管理员登录和普通用户登录后跳转到不同页面-♚付涛纪实阁♚...

    这篇文章将向您展示WordPress用户登录后如何重定向到指定页面或者文章的技巧. 一.重定向到网站管理面板. 将以下代码添加到您的当前主题的 functions.php 文件中 二.重定向到指定页面 ...

  9. day02【后台】管理员登录

    day02[后台]管理员登录 1.创建常量类 创建常量类,用于管理整个系统中所用到的常量 public class CrowdConstant {public static final String ...

最新文章

  1. linux top 报错 TERM environment variable not set.
  2. nginx 部署静态网页
  3. Annotation 注解
  4. 7000更换控制器电源步骤_开关电源控制环路(初级篇:上)
  5. 聊聊如何才能进大厂实习~
  6. Netty学习笔记(六) 简单的聊天室功能之WebSocket客户端开发实例
  7. 1.极限——例子_3
  8. iPhone SE 3最高机身内存将增至256GB 较当前版本翻番
  9. ap sat_新手必读:7个问题分清SAT、AP、托福考试
  10. Ubuntu与CentOS的区别
  11. 【R图秀-2】社交网络数据可视化(一)
  12. Angr安装与使用之使用篇(十四)
  13. 数据结构c语言描述 试题,数据结构c语言版试题大全(含答案)
  14. 人人网主页登录_人人网回归了!历史记录全保留!前男(女)友们的黑历史就要被重新翻开了...
  15. 91p3.space/index.php,writeup_for_SCTF2016
  16. Android 程序员的技术栈大全(1),中高级Android面试题目汇总解答
  17. 《西游记》取经路线图|思维导图简单又漂亮
  18. jenkins安装下载
  19. Golang Append()详解
  20. 数据中心服务器机柜电气参数,数据中心服务器机柜一些安装与参数

热门文章

  1. c语言 二进制输出_收藏!C语言入门基础知识大全
  2. 【转载】interpolation(插值)和 extrapolation(外推)的区别
  3. GStreamer基础教程07 - 播放速率控制
  4. 面向对象之反射、包装、(定制)
  5. 完成聊天室的私聊功能
  6. Python 开篇及第一个Python程序
  7. [物理学与PDEs]第1章第6节 电磁场的标势与矢势 6.3 例 --- 电偶极辐射
  8. linux清理备份日志,服务器日志清理备份
  9. c java c时间格式处理_c:foreach 对时间类型进行格式化
  10. 公司网页添加旺旺,状态不正确