Man*_*era 3 php authentication module yii
我已经开始使用Yii框架,我有一个关于UserIdentity组件使用的新问题.
我的应用程序有一个管理模块,它将作为显示在真实网站中的内容的后台.该模块有自己的管理员表tbl_admin_user
.
我想tbl_user
从一般站点之一分离登录方法(以检查该表而不是)来检查该模块.为此,我假设我需要为模块而不是完整的应用程序实现UserIdentity的authenticate方法,如果我错了,请更正我.
当我覆盖那个方法时,我什么也得不到.管理模块使用位于*protected\components*而不是自己的UserIdentity.
有什么建议吗?
您不得导入模块标识类.为此,只需修改扩展CWebModule的模块类中的init函数,如下所示:
public function init()
{
$this->setImport(array(
'#moduleName#.models.*',
'#moduleName#.components.*',
));
}
Run Code Online (Sandbox Code Playgroud)
因此,将导入所有模块组件(以及模型),即模块标识类.
注意:这样做,您有2个具有相同名称UserIdentity的导入类.如果您的应用程序配置良好,则模块必须在模块中优先,因为其目录在include_path中的位置.但是你应该在你的模块中给你的另一个名字扩展CUserIdentity,例如AdminUserIdentity.然后在您的登录操作中,您使用新的AdminUserIdentity($ username,$ password)而不是新的UserIdentity($ username,$ password).这将使您的代码更清洁.
归档时间: |
|
查看次数: |
3492 次 |
最近记录: |