AdminUserLogin.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * FecShop file.
  4. *
  5. * @link http://www.fecshop.com/
  6. * @copyright Copyright (c) 2016 FecShop Software LLC
  7. * @license http://www.fecshop.com/license/
  8. */
  9. namespace fecadmin\models\AdminUser;
  10. use fecadmin\models\AdminUser;
  11. use yii\base\Model;
  12. /**
  13. * @author Terry Zhao <2358269014@qq.com>
  14. * @since 1.0
  15. */
  16. class AdminUserLogin extends Model{
  17. public $username;
  18. public $password;
  19. public $captcha;
  20. private $_admin_user;
  21. public function rules()
  22. {
  23. return [
  24. [['username', 'password'], 'required'],
  25. ['password', 'validatePassword'],
  26. // ['captcha', 'captcha','captchaAction'=>'/fecadmin/captcha/index'],
  27. // ['captcha', 'required'],
  28. ];
  29. }
  30. public function validatePassword($attribute,$params){
  31. if (!$this->hasErrors()) {
  32. $AdminUser = $this->getAdminUser();
  33. if (!$AdminUser) {
  34. $this->addError('用户名', '用户名不存在');
  35. }else if(!$AdminUser->validatePassword($this->password)){
  36. $this->addError('用户名或密码','不正确');
  37. }
  38. }
  39. }
  40. public function getAdminUser(){
  41. if($this->_admin_user === null){
  42. $this->_admin_user = AdminUser::findByUsername($this->username);
  43. }
  44. return $this->_admin_user;
  45. }
  46. public function login()
  47. {
  48. if ($this->validate()) {
  49. //return \Yii::$app->user->login($this->getAdminUser(), $this->rememberMe ? 3600 * 24 * 30 : 0);
  50. return \Yii::$app->user->login($this->getAdminUser(), 3600 * 24);
  51. } else {
  52. return false;
  53. }
  54. }
  55. }