Laravel 4上的哨兵与MAMP

时间:2014-08-24 05:18:36

标签: laravel mamp cartalyst-sentry

我在MAMP PRO上使用Laravel(PHP 5.4)。两者都是香草安装,我让Laravel工作正常。

接下来,安装哨兵。

控制器上的登录功能内部:

$user = Sentry::authenticate($credentials, false); // this works.  I can see the $user

但是在立即重定向后我使用过滤器:

Route::filter('auth.admin', function()
{
    var_dump(Sentry::check()); // ** this gives me a bool(false);
    die();

    if ( ! Sentry::check())
    {
        return Redirect::route('admin.login');
    }
});

所以,我假设可能有一个没有设置的cookie?

1 个答案:

答案 0 :(得分:1)

...解决

对于有此问题的其他人,这是对互联网上最常见解决方案的总结以及我如何解决我的问题。我在使用MAMP / OSX,但这显然没有区别,因为我确实提出了一个流浪汉/虚拟机,但仍然有同样的问题。

  1. **设置'domain'=>你的config / session.php中的'yourdomain.com'。即使您在a.b.c.yourdomain.com这样的子域中,也只能在我刚编写的“域”变量中使用根域(yourdomain.com)。 **这是我的问题。

  2. 确保您的会话存储文件夹具有写入权限。

  3. 确保您的session.php中有> 0生命周期

  4. 确保在任何关闭PHP之后没有空格,这可能导致应用程序无法正常关闭。

  5. 尝试在数据库会话和文件会话之间切换。

  6. 作为最后的手段,如果可能的话,尝试升级到4.2。 4.1有一个已知问题(在谷歌中引用)。

  7. 您的问题可能不适用于Laravel或Sentry。它可能是一个文件或配置问题,如上所示。我把头发从Sentry到Laravel跟踪到了Cookies到Session to Blah ...只是意识到它最终是一个cookie问题,这是由于我没有设置我的ROOT域(我使用的是完整的