1、管理员登录中间件和注销
2018-06-22 05:08:21来源:未知 阅读 ()
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
<?php namespace 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); } }
验证:
进入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页面
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- thinkPHP5项目中实现QQ第三方登录功能 2020-02-19
- 详解Yii2框架实现登录、退出及自动登录功能的方法 2019-12-15
- 基于JWT的Token登录认证 2019-07-23
- php学习历程1——注册、登录(面向过程、面向对象) 2019-07-23
- Bootstrap 结合 PHP ,做简单的登录以及注册界面及功能 2019-05-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash