Laravel中间键的创建及使用

1.Laravel中间键说白了就是在路由层面对访问进行控制。

2.先说一个没有中间键概念的PHP框架,如ThinkPHP(简称TP),在TP框架中进行开发时,有些页面必须是登录用户才能访问,通常的做法是创建一个父类控制器,该控制器里构造方法判断用户是否登录,其他有登录限制的控制器(方法)都继承该类

3.那么,Laravel中间键就是在路由层面完成了上述功能

4.具体做法

(1)创建中间键 php artisan make:middleware AdminLogin

(2)创建成功后在/app/Http/Middlewar下会生成AdminLogin.php文件,在handle方法里面加入如下代码(这里假设登录用户保存的是user_id)

if(!Session::get('user_id')){
    return redirect('/admin/login');
}
return $next($request);//该行不能删除 另外注意引入Session文件  use Illuminate\Support\Facades\Session;
(3)在/app/Http/kernel.php里面注册中间件 加入'admin.login' => \Illuminate\Auth\Middleware\AdminLogin::class,

  
  
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'admin.login' => \Illuminate\Auth\Middleware\AdminLogin::class,
];
5.使用(路由文件中
use App\Http\Middleware\AdminLogin;//注意引用该类文件
Route::match(['get','post'],'/modify_password','IndexController@modify_password')->middleware(AdminLogin::class);//修改密码



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值