【发布时间】:2014-09-15 23:15:37
【问题描述】:
我已经在我的 $app 中注册了一个基于 MySQL 的 UserProvider,如下所述: http://www.bubblecode.net/en/2012/08/28/mysql-authentication-in-silex-the-php-micro-framework/
我已成功设置密码以使用 sha1,到目前为止,一切顺利。
$app['security.encoder.digest'] = $app->share(function ($app) {
// use the sha1 algorithm
// don't base64 encode the password
// use only 1 iteration
return new MessageDigestPasswordEncoder('sha1', false, 1);
});
我的问题是:用户被适当地认证或拒绝,在认证成功的情况下重定向到默认路由,但不保留登录。方程。如果我然后返回我的 /login 表单并打印用户令牌,我会得到:
AnonymousToken(user="anon.", authenticated=true, roles="")
不管我做什么。任何帮助将不胜感激:我尝试确保我的会话是在“之前”控制器中启动的:它们是。
$app['session']->start();
我应该提到我正在运行 HHVM 而不是“vanilla PHP”。它应该大致对应于 PHP 5.5,其他一切似乎都可以工作。
提前感谢您的帮助。
编辑:这似乎是 HHVM 和正在使用的 Silex 版本的问题,我现在向 Silex 团队报告。相同的代码在 php5-fpm 上也能正常工作。
【问题讨论】:
-
我也有同样的问题,你找到解决办法了吗?
-
见我的第二篇文章。这是一个(现在已知的)Silex/HHVM 错误。对我来说,问题在于会话处理程序。使用数据库会话处理程序让我可以再次使用此功能。