【发布时间】:2013-06-11 23:57:08
【问题描述】:
我正在开发我的第一个带有 CakePHP 2.3 的应用程序,我在登录时遇到了问题(没有身份验证错误),但我的会话没有持续,所以我被送回登录页面当Auth->redirect() 被调用时。我确定我只是遗漏了一个设置或配置了一些稍微错误的东西,但我一直没能找到它。
# core.php
# session record is written the the database, but the same record's id changes w/ every request
Configure::write('Session', array(
'defaults' => 'database',
));
Configure::write('Security.level', 'medium');
我尝试调整各种Session.X 参数,但没有任何改变。我在 AppController 中使用 bcrypt 身份验证和以下设置:
'Auth' => array(
'authenticate' => array(
'Blowfish' => array(
'fields' => array( 'username' => 'email' ),
'scope' => array( 'active' => '1' )
),
),
'authorize' => array( 'Controller' ),
'loginAction' => array( 'admin' => false, 'controller' => 'users', 'action' => 'login' ),
'loginRedirect' => array( 'admin' => true, 'controller' => 'activities', 'action' => 'index' ),
'logoutRedirect' => array( 'admin' => false, 'controller' => 'users', 'action' => 'login' ),
),
我错过了什么?
更新
意识到这仅发生在我的开发环境中,我比较了我的 Cake 配置(数据库、核心、引导程序)和 php.ini 值——没有差异。我被难住了。
【问题讨论】:
-
可能在 users_controller 中没有重定向?
-
不,重定向正在发生。
-
无论如何,我都会重定向到主页 (/),该主页 (/) 路由到
/admin/activities/index。在实际重定向之前的调试验证我应该去我期望的地方。 -
您确定是会话被删除,而不是您无权进入页面,因此它会重定向您吗?
-
@Nunser - 并不是会话被删除。我在本地工作并将会话保存到数据库。当我第一次进入时,我会得到一个会话记录。当我登录时,我仍然有一个会话记录,但 ID 不同。
标签: cakephp cakephp-2.3