【问题标题】:Laravel Redirects Loop AuthLaravel 重定向循环验证
【发布时间】:2015-03-17 06:45:51
【问题描述】:

我的 route.php 中有这个:

Route::resource('post','postcontroller');

如果用户登录,我希望可以访问“帖子”。所以,我在我的 route.php 中做了这个:

Route::group(array('before'=>'auth'),function(){
Route::get('post','postcontroller@index');
});

在我的控制器中,我编码->“登录后,重定向到'post'”

但是,当我尝试在真实浏览器中登录时,在我登录后,它会自动重定向到“登录”。

我用谷歌搜索,我得到了解决方案,我必须更改 filters.php 上的代码:

来自

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

进入

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

完成后,确实在我尝试登录真实浏览器后,它会将我定向到“发布”网址。但是,问题是我得到了错误“这个网页有一个重定向循环”(网址有权利进入'post')。

重定向循环问题有什么解决方案吗?谢谢

【问题讨论】:

  • 不要更改该过滤器。重定向是如果用户没有登录并且拥有login 就可以了。在我看来,您的会话或身份验证通常不起作用...
  • 如果我在 routes.php 中更改为“登录”,那么当我尝试在真实浏览器中登录时,它会将我引导到“登录”网址
  • 登录后需要重定向到哪个页面?发布页面?
  • 请将处理登录的控制器代码添加到您的问题中。谢谢

标签: loops authentication redirect laravel


【解决方案1】:

这一行

Route::resource('post','postcontroller');

使 Laravel 动态生成路由集合。

然后在这里你创建了另一个路由(之前的语句已经创建了)

Route::group(array('before'=>'auth'),function(){
Route::get('post','postcontroller@index');
});

试试这个

删除这条新的单一路线 Route::get('post','postcontroller@index');

并将资源放入过滤器

Route::group(array('before'=>'auth'),function(){

    // resource routes now require Authentication to access
    Route::resource('post','postcontroller');

});

过滤器

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

return Redirect::guest('login'); 这一行只是确定在用户身份验证失败后您将把用户发送到哪里。因此,请将其更改为您希望将它们发送到的任何路线。

【讨论】:

  • 我试过了,但我仍然得到“这个网页有一个重定向循环”
猜你喜欢
  • 2016-06-02
  • 1970-01-01
  • 2017-02-11
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 2015-08-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多