首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fortrabbit中的重定向循环Laravel 5.1

Fortrabbit中的重定向循环Laravel 5.1
EN

Stack Overflow用户
提问于 2016-03-21 14:40:29
回答 2查看 177关注 0票数 0

我已经部署了一个laravel应用程序到fortrabbit。部署的应用程序是一个简单的应用程序,只用于测试身份验证和中间件('auth‘和’来宾‘)。我已经在本地主机上试用了这个应用程序,认证和中间件运行得很好。当我在fortrabbit中试用我的应用程序时,身份验证工作正常,但是中间件存在问题。我得到了

这个网页有一个重定向循环,ERR_TOO_MANY_REDIRECTS。

每次我登录主页。

routes.php

代码语言:javascript
复制
Route::get('/','UserController@getIndex');

Route::group(['middleware' => 'guest'], function() {

   Route::get('login','UserController@getLogin');
   Route::post('login','UserController@postLogin');

   Route::get('register','UserController@getRegister');
   Route::post('register','UserController@postRegister');

});

Route::group(['middleware' => 'auth'], function() {

   Route::get('home','MainController@getHome');
   Route::get('logout','MainController@logout');

});

用于'auth‘中间件的Authenticate.php

代码语言:javascript
复制
public function handle($request, Closure $next)
{

    if ($this->auth->guest()) {
        if ($request->ajax()) {
            return response('Unauthorized.', 401);
        } else{
            return redirect()->guest('/login');
    }

    return $next($request);
}

用于“来宾”中间件的RedirectIfAuthenticated.php

代码语言:javascript
复制
public function handle($request, Closure $next)
{
    if ($this->auth->check()) {
        return redirect('home');
    }

    return $next($request);
}

是否有任何文件/设置在fortrabbit,我必须配置,以正确运行这个应用程序?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-30 09:24:58

使用Fortrabbit memcache配置(链接)修改链接后,不仅要在.env文件中更改CACHE_DRIVER的值,还要将SESSION_DRIVER更改为memcached

票数 0
EN

Stack Overflow用户

发布于 2016-03-21 14:56:28

在我看来,你的第二个中间件是不存在的。

如果来宾()这样做,如果不是来宾重定向登录。如果你是不允许客人的页面上的客人,你不应该被重定向登录吗?

你处于一个无穷无尽的循环中,因为一旦你登录,你就不再是客人了,所以你被重定向到“家”,这会触发关闭的'auth‘,然后将你重定向到登录,然后触发’来宾‘来重定向你……

我认为您应该是这样的中间件,来源于吉蒂布号的拉勒维尔

代码语言:javascript
复制
public function handle($request, Closure $next)
{
    if ($this->auth->guest()) {
        if ($request->ajax()) {
            return response('Unauthorized.', 401);
        } else {
            return redirect()->guest('auth/login');
        }
    }
    return $next($request);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36134031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档