登录使用Kohana开发验证模块 - 我究竟做错了什么?
-
27-09-2019 - |
题
我想用下面的控制器动作登录,但我的登录尝试不停地进行故障(我得到的“无效的用户名和/或密码”消息)。我究竟做错了什么?我也试过在权威性文档,Auth::instance()->login($user->username, $form->password);
的例子给出的另一种方法,但我得到相同的结果。 Kohana的版本是2.3.4。
public function login() {
$auth = Auth::instance();
if ($auth->logged_in()) {
url::redirect('/account/summary');
}
$view = new View('login');
$view->username = '';
$view->password = '';
$post = $this->input->post();
$form = new Validation($post);
$form->pre_filter('trim', 'username')
->pre_filter('trim', 'password')
->add_rules('username', 'required');
$failed = false;
if (!empty($post) && $form->validate()) {
$login = array(
'username' => $form->username,
'password' => $form->password,
);
if (ORM::factory('user')->login($login)) {
url::redirect('/accounts/summary');
} else {
$view->username = $form->username;
$view->message = in_array('required', $form->errors()) ?
'Username and password are required.' :
'Invalid username and/or password.';
}
}
$view->render(true);
}
解决方案
想通了我的问题......东西在我的注册过程中丢失,因为它创建用户记录,但没有作用到用户ASSOC记录。登录需要登录到特定的角色,或者它甚至不会有一个有效的用户名和密码的工作。手动插入记录让我登录,所以我就不得不去维护我的注册操作了一下。
不隶属于 StackOverflow