php – 如何在Laravel 4路由组上应用多个过滤器?

前端之家收集整理的这篇文章主要介绍了php – 如何在Laravel 4路由组上应用多个过滤器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以在Laravel 4中的组路由上添加多个过滤器?

我有一个API中心应用程序的2种身份验证方法.
一个具有标准身份验证(网站过滤器“auth”),一个带有令牌(过滤器“auth.token”用于移动应用程序).@H_502_3@ @H_502_4@<?PHP Route::group(array('prefix' => 'api/'),function() { #Custom routes here }); ?>

理想情况下,我希望如果两个过滤器中的一个通过,则可以访问组.@H_502_3@

您可以: @H_502_4@Route::group(['before' => 'auth|csrf'],function() { // });

但是,如果您希望在任一过滤器通过时使其可访问,则必须多写一点(在filters.PHP中):@H_502_3@ @H_502_4@function csrfFilter() { if (Session::token() != Input::get('_token')) { throw new Illuminate\Session\TokenMismatchException; } } function authFilter() { if (Auth::guest()) return Redirect::guest('login'); } Route::filter('csrf-or-auth',function () { $value = call_user_func('csrfFilter'); if ($value) return $value; else return call_user_func('authFilter'); });

在routes.PHP中@H_502_3@ @H_502_4@Route::group(['before' => 'csrf-or-auth'],function() { // });

请记住,过滤器通过时您必须不返回任何内容.我希望这可以帮助你!@H_502_3@

猜你在找的Laravel相关文章