如何为CodeIgniter选择认证库:经验与比较
大家好!我是PHP和CodeIgniter的新手,目前正在编写我的第一个项目——一个带管理面板的小博客。我遇到了选择认证库的问题。CodeIgniter 3的文档中没有内置的登录/注册系统,只有session和密码哈希。
我已经自己写了一个简单的系统,但看起来很简陋:
```php
// 我目前在Auth控制器中的“系统”
public function login() {
$this->load->model('user_model');
$user = $this->user_model->get_by_email($this->input->post('email'));
if ($user && password_verify($this->input->post('password'), $user->password)) {
$this->session->set_userdata('user_id', $user->id);
redirect('admin');
} else {
$data['error'] = '登录名或密码错误';
$this->load->view('login', $data);
}
}
```
问题:
- 没有CSRF和XSS保护
- 没有“记住我”功能
- 没有密码重置
- 没有角色(管理员/用户)
- 没有日志记录