Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php zend framework 2身份验证服务检查凭证处理中的多个条件_Php_Authentication_Zend Framework2_Zend Db_Zend Auth - Fatal编程技术网

Php zend framework 2身份验证服务检查凭证处理中的多个条件

Php zend framework 2身份验证服务检查凭证处理中的多个条件,php,authentication,zend-framework2,zend-db,zend-auth,Php,Authentication,Zend Framework2,Zend Db,Zend Auth,我使用的是zf2身份验证服务,在凭证处理中,我希望通过检查以下一些条件向用户发送几条消息:- 如果状态为false,则消息为“您需要管理员权限才能登录” 如果确认的电子邮件为false,则让用户重新发送显示某些消息的电子邮件链接 如果电话号码未确认,则重新发送otp 我正在检查getDbSelect as的where条件中的这些字段 $authAdapter = new AuthAdapter($DbAdapter, 'admin',

我使用的是zf2身份验证服务,在凭证处理中,我希望通过检查以下一些条件向用户发送几条消息:-

  • 如果状态为false,则消息为“您需要管理员权限才能登录”
  • 如果确认的电子邮件为false,则让用户重新发送显示某些消息的电子邮件链接
  • 如果电话号码未确认,则重新发送otp
  • 我正在检查getDbSelect as的where条件中的这些字段

    $authAdapter = new  AuthAdapter($DbAdapter,
                    'admin',
                    'username',
                    'password', 
                    "MD5(CONCAT('$salt', ?,'passhash'))"
                    );
                 $authAdapter->setIdentity($authform_data['username'])->setCredential($authform_data['password']);
                 $auth = new AuthenticationService();
                 $select = $authAdapter->getDbSelect();
                 $select->where('status = 1 AND email_confirmed = 1 AND phone_confirmed = 1');
                 $result = $auth->authenticate($authAdapter);
                 print_r($result);die;
    

    如果其中任何一个字段为false,它只会给出消息“无法找到具有提供的标识的记录”,但没有指定哪个字段为true,哪个字段为false。是否有任何解决方案可以让我单独检查这些条件并分别传递消息。提前谢谢

    MD5不足以进行密码哈希。您应该使用和来代替。@AlexHowansky这些在zf2身份验证服务中也可用吗?我不相信库存的zf2 DbTable适配器可以立即完成。您可能需要扩展它。我认为您的问题可以通过\Zend\Authentication\Adapter\DbTable\CallbackCheckAdapter解决