身份验证过滤器不起作用

Posted

技术标签:

【中文标题】身份验证过滤器不起作用【英文标题】:Auth Filter Not Working 【发布时间】:2014-10-07 14:42:14 【问题描述】:

尝试使用auth 过滤器来阻止用户在未登录的情况下访问某些路由。下面的代码无论用户的状态如何都会重定向。我无法在任何地方找到该函数中的内容。我使用http://laravel.com/docs/security#protecting-routes 作为参考。不确定我是否应该有一个 if 语句。完全不知道该怎么做。

路线:

Route::get('/account', ['before' => 'auth', function() 

    //  continue to /account
]);

来自app/filters 的标准“身份验证”过滤器:

 Route::filter('auth', function()
 
 if (Auth::guest())
 
    if (Request::ajax())
    
        return Response::make('Unauthorized', 401);
    
    else
    
        //return Redirect::guest('login');
    

);

按照我的理解,函数中的代码只有在用户登录时才会加载。否则会出现 401 错误。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

在朋友的帮助下,我修复了它。一些重要信息,路由过滤器将继续用于预期目的,除非从过滤器返回某些内容。此外,标准的身份验证过滤器将不起作用。必须修改。之后就是蛋糕了。代码如下。

路线:

Route::get('/account', ['before' => 'auth', 'uses' => 'SiteController@account']);

身份验证过滤器:

Route::filter('auth', function()

    if (Auth::guest())
    
        return Response::make('Unauthorized', 401);
    
);

【讨论】:

以上是关于身份验证过滤器不起作用的主要内容,如果未能解决你的问题,请参考以下文章

自定义授权过滤器在 ASP.NET Core 3 中不起作用

Shiro URL 过滤器不起作用

为啥在laravel中按下浏览器的后退按钮时过滤器不起作用?

Xcode Firebase 身份验证不起作用

Sharepoint 区域身份验证不起作用

为啥我的电话身份验证安全规则不起作用?