为路由的访问增加拦截条件,只有通过认证(符合某个条件)的用户才能访问到指定路由,这种方式称之为路由保护。
参考文档:
[ Laravel 5.6 文档 ] 安全系列 —— 登录认证
[ Laravel 5.6 文档 ] 基础组件 —— 中间件
中间件拦截
使用中间件为路由增加拦截条件,只有通过中件件认证才能访问到该路由
路由 -> middleware('中间件名称')
示例代码
// 后台路由部分Route::group(['prefix' => 'admin'], function() {// -> name 方法为路由指定别名Route::get('public/login', 'Admin\PublicController@login') -> name('login'); // 后台登录页面Route::get('public/logout', 'Admin\PublicController@logout'); // 退出登录Route::post('public/check', 'Admin\PublicController@check'); // 登录验证/*** -> middleware('auth:admin') 方法为路由添加了判断登录授权的中间件* :admin 表示使用名为admin的guard(config/auth.php 中 guards 数组)来实现认证* 如果非授权, 将跳转名为 `login` 的路由*/// Route::get('index/index', 'Admin\IndexController@index') -> middleware('auth:admin'); // 后台索引页面// Route::get('index/welcome', 'Admin\IndexController@welcome') -> middleware('auth:admin'); // 后台欢迎页面});// 将需要权限判断的路由单独抽取成一个群组Route::group(['prefix' => 'admin', 'middleware' => 'auth:admin'], function() {Route::get('index/index', 'Admin\IndexController@index');Route::get('index/welcome', 'Admin\IndexController@welcome');});
