• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Zend Framework 2 Doctrine ORM身份验证

zend-framework 来源:user3108205 3次浏览

我正在用ZF2和Doctrine ORM开发我的第一个真正的项目。我无法通过doctrine orm身份验证适配器找到任何用户身份验证的好例子。现在我正在使用标准的Zend Db Adapter认证。另外,我使用Zend Framework 2 Doctrine ORM身份验证

$adapter->setIdentityColumn(filter_var($request->getPost('useremail'),FILTER_VALIDATE_EMAIL) ? 'useremail' : 'userlogin'); 

在我的登录控制器登录通过电子邮件和登录。

但我想通过主义ORM执行所有工作。有人可以向我展示一个与doctrine.authentication.orm_default类似的例子,并将用户身份数据存储在会话/存储中以访问任何控制器或module.php?是否可以使用两个字段 – userlogin或电子邮件登录?

非常感谢您的帮助。

更新时间:我一直seaching,因此this和this帮了我这么多的 一个问题,我还没有得到解决。如何使用doctrine适配器检查用户状态(激活或不激活)? 像

$authAdapter = new AuthAdapter($dbAdapter,'user','username','password','MD5(?) AND status = 1'); 


===========解决方案如下:

您可以使用credential_callable选项(Doctrine Module doc.)。它可以是任何可调用(PHP Manual),例如与封闭:

'credential_callable' => function(User $user, $passwordGiven) { 
    return md5($passwordGiven) == $user->getPassword() && $user->isActive(); 
}, 

或静态类方法:

'credential_callable' => 'Application\User\UserService::verifyUser' 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)