当前位置: 首页 > news >正文

在线生成固定悬浮导航的工具网站/合肥seo培训

在线生成固定悬浮导航的工具网站,合肥seo培训,优秀作文网站推荐,亚马逊雨林的资料一个网站必须过滤进入应用程序的 HTTP 请求和权限检测,比如用户登录,用户是否有权限操作这个界面,菜单显示判断。在 ThinkPHP 里,往往通过继承一个基类,在初始化方法里调用检测方法,而Laravel 提供了中间件…

一个网站必须过滤进入应用程序的 HTTP 请求和权限检测,比如用户登录,用户是否有权限操作这个界面,菜单显示判断。在 ThinkPHP 里,往往通过继承一个基类,在初始化方法里调用检测方法,而Laravel 提供了中间件来验证身份或重定向,还可以负责为添加响应头或记录所有传入应用的请求。

中间件使用 make:middleware 命令生成,放在 app\Http\Middleware 下。所有的中间件都是通过 服务容器 解析的,因此,可以在构造函数中键入需要的任何依赖。

<?phpnamespace App\Http\Middleware;use Closure;class AdminLogin
{/*** 处理传入的请求*/public function handle($request, Closure $next){if(!session('user')){return redirect('admin/login');}return $next($request);}
}

上面就是一个最简单的中间件,Laravel将进入应用的请求对象传递给 Http Kernel 的 handle 方法,处理流入应用的请求对象 $request 并返回响应对象 $next。这里我检查了session里是否存在user数据,没有就重定向到登录界面,也可以对传入参数进行检测。

if ($request->id < 1) 
{return redirect('home');
}

中间件默认是在 请求前 执行,也可以使用后置中间件。

<?phpnamespace App\Http\Middleware;use Closure;class AfterMiddleware
{public function handle($request, Closure $next){$response = $next($request);// 执行动作return $response;}
}

中间件需要 注册 才能使用,如果想要添加自己的中间件,需要将相应的中间件类添加到app/Http/Kernel.php 的数组属性 $routeMiddleware 中,并且指定一个名称。

<?phpnamespace App\Http;use Illuminate\Foundation\Http\Kernel as HttpKernel;class Kernel extends HttpKernel
{/*** 应用的路由中间件列表*/protected $routeMiddleware = ['admin.login' => \App\Http\Middleware\AdminLogin::class,];

然后在 路由 或者 路由组 里调用。

Route::get('/index', function () {//
})->middleware('admin.login');Route::group(['middleware' => ['admin.login']], function () {//
});

如果想要定义的中间件在 每一个 HTTP 请求 时都被执行,只需要将相应的中间件类添加到数组属性 $middleware 中。

protected $middleware = [\App\Http\Middleware\CheckForMaintenanceMode::class,\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,\App\Http\Middleware\TrimStrings::class,\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,\App\Http\Middleware\TrustProxies::class,];

可以将相关中间件打包到一个组里,Laravel 自带了 web 和 api 两个中间件组,分别包含可以应用到 Web 和 API 路由的通用中间件。

/*** 应用程序的路由中间件组*/
protected $middlewareGroups = ['login' => [\App\Http\Middleware\AdminLogin::class,],
];

中间件主要过滤 非法check权限验证,有些人把表单请求字段验证甚至数据库相关check,也写在中间件里,我觉得是不对的,应该放在控制器中的 validate 方法中。

http://www.jmfq.cn/news/5254885.html

相关文章:

  • wordpress建m域名网站/每日舆情信息报送
  • wordpress管理页面/镇江seo公司
  • 广州营销型网站制作/有没有免费的写文案的软件
  • 西安网站建设哪个好/营销qq
  • 政务内网网站群建设/西安网站到首页排名
  • 长沙做网站多少钱/seo有哪些网站
  • 东莞模板网站设计/百度搜索引擎原理
  • 河北恒山建设集团网站/营销策划方案怎么做
  • 免费网站建设视频教程/中国最新军事新闻最新消息
  • 昆山做网站的/168推广网
  • 惠州seo外包服务/南京seo网站优化
  • 西安做网站找缑阳建/腾讯广告推广平台入口
  • 企业 网站微信 建设/莆田百度推广开户
  • wordpress编辑器段间距/优化网站内容的方法
  • 福田网站建设设计/厦门seo俱乐部
  • 唐山哪里有做网站的/晋城网站seo
  • 关于旅游网站策划书/国内最新新闻
  • 施坦威网站关于我们/深圳百度推广电话
  • 网站研发公司/windows优化大师要钱
  • 湛江专业看房/漯河seo推广
  • 2017湖北建设教育协会网站/最全bt搜索引擎入口
  • 阿里云云服务器ecs做网站访问慢/企业文化标语经典
  • 哈尔滨大型网站设计公司/官方网站营销
  • 查询类网站用什么做/seo查询官方网站
  • 百度推广会帮你做网站不/国际最新新闻热点事件
  • 网站文章结构变更怎么做301/企业推广语
  • 网站发语音功能如何做/线下推广怎么做
  • 有赞做网站/首页排名seo
  • 做一家视频网站/东莞网站制作推广公司
  • 加人引流加人网站怎么做/企业网站建设cms