在我们的用例中,我们需要在成功注册后立即自动登录用户以启用,而不是强制用户:
- 更改密码。
- 上传一个文件。
如何在 AccountController 的 register 方法中以编程方式实现这一点?
理想情况下,它应该是一个无缝的注册过程,以用户仪表板中的登录状态结束。
请求有价值的帮助/提示/指针...
谢谢!
在我们的用例中,我们需要在成功注册后立即自动登录用户以启用,而不是强制用户:
如何在 AccountController 的 register 方法中以编程方式实现这一点?
理想情况下,它应该是一个无缝的注册过程,以用户仪表板中的登录状态结束。
请求有价值的帮助/提示/指针...
谢谢!
解决此问题的最佳方法是从密码重置控制器中获取提示,该控制器已经执行此操作(在这种情况下,它会在用户选择新密码后自动登录)。
因此,将其添加到register
方法的底部AccountController
:
// Log out any existing user, and create a new session
if (!$this->_app->user->isGuest()) {
$this->_app->logout(true);
// Restart session
$this->_app->startSession();
}
// Auto-login the user
$this->_app->login($user);
$ms = $this->_app->alerts;
$ms->addMessageTranslated("success", "ACCOUNT_WELCOME", $this->_app->user->export());
您还需要修改AJAX 回调register.twig
以将用户重定向到主页,而不是登录页面:
window.location.replace(site['uri']['public']);
登录后,用户将被自动重定向到其主要组的登录页面。