hel*_*ohn 4 authentication cakephp cakephp-2.0 cakephp-2.1
我正在开发cakephp 2.x. 我的问题是我不想使用用户名进行记录..我正在从用户那里获取电子邮件和密码,并从数据库验证这个电子邮件和密码我在我的数据库名称用户中有一个表,它有3个字段 ID, 电子邮件和 密码
这是我的代码
模型
<?php
class User extends AppModel {
public $useTable = 'user';
}
?>
Run Code Online (Sandbox Code Playgroud)
AppController的
class AppController extends Controller {
public $components = array(
'Session',
'Auth'=>array(
'loginRedirect'=>array('controller'=>'users', 'action'=>'admin'),
'logoutRedirect'=>array('controller'=>'users', 'action'=>'admin'),
'authError'=>"You can't access that page",
'authorize'=>array('Controller')
)
);
public function isAuthorized($user) {
}
public function beforeFilter() {
$this->Auth->allow('index');
Run Code Online (Sandbox Code Playgroud)
UserController的
public function login()
{
if ($this->request->is('post')) {
if ($this->Auth->login()) {
$this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash('Your email/password combination was incorrect');
}
}
}
Run Code Online (Sandbox Code Playgroud)
login.ctp
<?php
echo $this->form->create();
echo $this->form->input('email');
echo $this->form->input('password');
echo $this->form->end('Authenticate');
?>
Run Code Online (Sandbox Code Playgroud)
您可以配置它:
public $components = array(
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
Run Code Online (Sandbox Code Playgroud)
另请参阅cookbook中的配置身份验证处理程序.
| 归档时间: |
|
| 查看次数: |
7789 次 |
| 最近记录: |