472*_*084 5 authentication cakephp cakephp-2.1
我有一个Cake网站,它需要有两个单独的登录,每个登录都有自己的登录表单,看到不同的页面,有两个不同的表会很好,因为两种类型的人没有相似之处.
每个登录表单仅供某些人使用,他们永远不会登录到其他表单,反之亦然.
另外,两个登录表之间有关系,需要2个表吗?
这可能吗?
jer*_*ris 10
首先,添加几个空的自定义身份验证对象.我们将重用FormAuthenticate使用的相同逻辑(即,使用POST数据为用户检查数据库),但只需在对象设置中更改模型(稍后).
应用程序/控制器/组件/认证/ ModelOneAuthenticate.php
<?php
App::uses('FormAuthenticate', 'Controller/Component/Auth');
class ModelOneAuthenticate extends FormAuthenticate {
}
Run Code Online (Sandbox Code Playgroud)
应用程序/控制器/组件/认证/ ModelTwoAuthenticate.php
<?php
App::uses('FormAuthenticate', 'Controller/Component/Auth');
class ModelTwoAuthenticate extends FormAuthenticate {
}
Run Code Online (Sandbox Code Playgroud)
然后告诉您的应用使用这些对象进行身份验证,并告诉它使用哪种模型.您还可以在此处自定义字段.在AppController中:
public $components = array(
'Auth' => array(
'authenticate' => array(
'ModelOne' => array(
'userModel' => 'ModelOne',
'fields' => array(
'username' => 'my_custom_username_field',
'password' => 'some_password_field'
)
),
'ModelTwo' => array(
'userModel' => 'ModelTwo'
)
)
)
);
Run Code Online (Sandbox Code Playgroud)
第一个身份验证对象将检查model_ones表中的用户名my_custom_username_field和密码some_password_field,而第二个将model_twos使用标准username和password字段进行检查.
| 归档时间: |
|
| 查看次数: |
3756 次 |
| 最近记录: |