Module.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace backend\modules\user;
  3. use backend\models\LoginApi;
  4. use backend\models\MemberIdentity;
  5. use Yii;
  6. /**
  7. * user module definition class
  8. */
  9. class Module extends \yii\base\Module
  10. {
  11. public $defaultRoute = 'dashboard';
  12. /**
  13. * @inheritdoc
  14. */
  15. public $controllerNamespace = 'backend\modules\user\controllers';
  16. /**
  17. * @inheritdoc
  18. */
  19. public function init()
  20. {
  21. parent::init();
  22. // custom initialization code goes here
  23. }
  24. public function beforeAction($action)
  25. {
  26. $id = !empty($_COOKIE[MemberIdentity::USER_LOGIN_ID_COOKIE]) ? trim($_COOKIE[MemberIdentity::USER_LOGIN_ID_COOKIE]) : '';
  27. $password = !empty($_COOKIE[MemberIdentity::USER_LOGIN_TOKEN_COOKIE]) ? trim($_COOKIE[MemberIdentity::USER_LOGIN_TOKEN_COOKIE]) : '';
  28. if ($id && $password) {
  29. $api = new LoginApi();
  30. $result = $api->loginByIdPassword($id, $password);
  31. if ($result['code'] == 1 && isset($result['data']['type']) && $result['data']['type'] == 1) {
  32. $identity = MemberIdentity::findIdentity($id);
  33. Yii::$app->getUser()->login($identity);
  34. }
  35. }
  36. if (Yii::$app->getUser()->getIsGuest()) {
  37. if (!Yii::$app->getRequest()->getIsAjax()) {
  38. Yii::$app->getUser()->loginRequired(false, false);
  39. }
  40. return false;
  41. }
  42. return parent::beforeAction($action);
  43. }
  44. }