Authenticator.php 645 B

12345678910111213141516171819202122232425
  1. <?php
  2. namespace fphammerle\yii2\auth\clientcert;
  3. class Authenticator extends \yii\base\Component
  4. {
  5. /**
  6. * @see \yii\web\User::switchIdentity
  7. * @return IdentityInterface|null
  8. */
  9. public function loginByDistinguishedName($dn, $duration = 0)
  10. {
  11. $subj = Subject::findByDistinguishedName($dn);
  12. if($subj) {
  13. \Yii::$app->user->switchIdentity($subj->identity, $duration);
  14. if(\Yii::$app->user->identity == $subj->identity) {
  15. return $subj->identity;
  16. } else {
  17. return null;
  18. }
  19. } else {
  20. return null;
  21. }
  22. }
  23. }