SPasswordCheck.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Module\User\Validation;
  3. use App\Module\AppGame\SessionApp;
  4. use App\Module\Sys\Config;
  5. use App\Module\User\Services\Google2Fa;
  6. use App\Module\User\Services\UserService;
  7. use App\Module\User\Validator\AuthPasswordApp;
  8. use UCore\ValidationCore;
  9. class SPasswordCheck
  10. {
  11. static public function validationRules($rules, ValidationCore $validation)
  12. {
  13. $scene = $validation->getName();
  14. $user_id = SessionApp::getUserId();
  15. $info2 = UserService::infoinfo($user_id);
  16. $authArray = Config::getValueDefault('auth_'.$scene);
  17. $fa2 = Google2Fa::must_check($info2, $scene);
  18. if($fa2){
  19. // 输入2fa
  20. if($authArray['auth_password']??false){
  21. // 开启安全密码
  22. //2fa+安全密码 = 只输入2fa
  23. }else{
  24. // 2fa+不输入安全密码 = 只输入2fa
  25. }
  26. $rules[]=[
  27. 'password2fa','required',
  28. 'msg'=>'必须进行动态密码验证'
  29. ];
  30. $rules[]=[
  31. 'password2fa',new \App\Module\User\Validator\Google2FAApp($validation),
  32. 'msg'=>'动态密码验证错误'
  33. ];
  34. }else{
  35. // 不输入2fa
  36. if($authArray['auth_password']??false){
  37. // 开启安全密码
  38. $rules[]=[
  39. 'auth_password','required',
  40. 'msg'=>'必须进行安全密码验证'
  41. ];
  42. $rules[]=[
  43. 'auth_password',new AuthPasswordApp($validation),
  44. 'msg'=>'安全密码验证错误'
  45. ];
  46. }else{
  47. // 不开启安全密码
  48. }
  49. }
  50. return $rules;
  51. }
  52. }