我有一个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路由组上应用多个过滤器?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)