Blame view

protected/modules/admin/components/AdminUserIdentity.php 1.04 KB
a1684257   Administrator   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  <?php
  
  /**
   * UserIdentity represents the data needed to identity a user.
   * It contains the authentication method that checks if the provided
   * data can identity the user.
   */
  class AdminUserIdentity extends CUserIdentity
  {
      /**
       * Authenticates a user based on {@link username} and {@link password}.
  	 * @return boolean whether authentication succeeds.
       */
      public function authenticate()
      {
          $user = AdminUser::model()->findByPk(strtolower($this->username));
          /** @var AdminUser $user */
          if (isset($user)) {
              if (sha1($user->salt . $this->password) == $user->password) {
                  $states = $this->getPersistentStates();
                  $states['fullName'] = $user->name;
                  $this->setPersistentStates($states);
                  $this->errorCode = self::ERROR_NONE;
              } else {
                  $this->errorCode = self::ERROR_PASSWORD_INVALID;
              }
          } else {
              $this->errorCode = self::ERROR_USERNAME_INVALID;
          }
          return !$this->errorCode;
      }
  
  }