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

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

概述是否可以在Laravel 4中的组路由上添加多个过滤器? 我有一个API中心应用程序的2种身份验证方法. 一个具有标准身份验证(网站过滤器“auth”),一个带有令牌(过滤器“auth.token”用于移动应用程序). <?php Route::group(array('prefix' => 'api/'), function() { #Custom routes here 是否可以在Laravel 4中的组路由上添加多个过滤器?

我有一个API中心应用程序的2种身份验证方法.
一个具有标准身份验证(网站过滤器“auth”),一个带有令牌(过滤器“auth.token”用于移动应用程序).

<?PHP    Route::group(array('prefix' => 'API/'),function() {        #Custom routes here    });?>

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

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

但是,如果您希望在任一过滤器通过时使其可访问,则必须多写一点(在filters.PHP中):

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中

Route::group(['before' => 'csrf-or-auth'],function(){     //});

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

总结

以上是内存溢出为你收集整理的php – 如何在Laravel 4路由组上应用多个过滤器?全部内容,希望文章能够帮你解决php – 如何在Laravel 4路由组上应用多个过滤器?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265423.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存