Laravel 4.2路由过滤器根URI的auth / guest错误

我需要帮助

我正在尝试根据用户身份验证将单个URI路由到多个控制器。本质上,如果用户未登录并点击了根URI,则显示一个通用的登录页面,否则,如果用户登录并访问了根URI,则显示其个性化内容。

我使用的是标准的现成过滤器(身份验证/来宾)和其他一些路由(此处未显示),它们已设置为快速进行身份验证/取消身份验证以进行测试。

这个想法似乎很简单,在我看来它应该可行,但是Laravel不能正确处理这个问题:

Route::group(array('before' => 'auth'), function() {
    Route::get('/', function() { echo 'logged in'; });
});

Route::group(array('before' => 'guest'), function() {
    Route::get('/', function() { echo 'logged out'; });
});

我按这些顺序无所谓,当用户通过身份验证时,Laravel不会确认Auth过滤器。跳过第一条路线,并且Guest过滤器首先运行,或者单独运行(可能更准确)。

我是否错误地更改了其中一个过滤器中的某些内容?为什么会这样呢?这项工作是否应该顺利进行?

Laravel似乎无法处理要对单个URI进行测试的多个操作的分配。我不想特别花时间在代码库中进行挖掘以找出问题所在。在我看来,对于框架本身来说,这是一个糟糕的设计决策,尽管如果是这样的话,它将在这里解释问题。

请给我一个健康检查。

皮特·休斯顿

应该是这个

Route::group(array('before' => 'guest|auth'), function() {
    Route::get('/', function() { 
        if(Auth::check()) {
            return "logged in";
        }

        return 'logged out';
    });
});

一个URI的多个控制器动作有什么意义?我很困惑。URI仅由一个Controller人的操作提供。否则,它将得到DRY,IMO。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel 4.2路由过滤器根URI的auth / guest错误

来自分类Dev

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

来自分类Dev

404错误laravel 4路由

来自分类Dev

Laravel 4将自定义过滤器应用于路由-错误未定义偏移

来自分类Dev

Laravel 4路由问题

来自分类Dev

图案过滤器在Laravel 4

来自分类Dev

laravel 4过滤器异常

来自分类Dev

图案过滤器在Laravel 4

来自分类Dev

Laravel 5.2路由错误

来自分类Dev

Laravel 5.2路由错误

来自分类Dev

Laravel 4:在路由中添加过滤器并通过控制器

来自分类Dev

如何在Laravel 4中基于用户类型制作路由过滤器?

来自分类Dev

Laravel 4路由到控制器方法

来自分类Dev

Laravel 4路由到控制器方法

来自分类Dev

Laravel 4中的错误

来自分类Dev

过滤器在Laravel 4上不起作用

来自分类Dev

Laravel 4动态数据库过滤器

来自分类Dev

Laravel 4中的多选过滤器搜索

来自分类Dev

在laravel 4过滤器中返回json响应

来自分类Dev

Laravel 4在过滤器上获取先前的URL

来自分类Dev

Laravel路由过滤器在Laravel 5

来自分类Dev

Laravel 5路由呼叫错误视图

来自分类Dev

Laravel 5路由问题-错误的方法调用异常

来自分类Dev

Laravel 5路由管理站点错误

来自分类Dev

Symfony 4路由注释导致openapi注释错误

来自分类Dev

Laravel路由和过滤器

来自分类Dev

Laravel 4迁移错误?

来自分类Dev

Laravel 4基本路由

来自分类Dev

Laravel 4路由,参数数量不受限制