2016-10-07 6 views
0

컨트롤러가 제대로 작동하고 기본 인증 동작을 첨부하고 싶습니다. 나는 조치 전에 을 컨트롤러에 추가하고 var_dump($this->behaviors);을 추가합니다. 모든 것이 정확합니다. 문제는 HttpBasicAuth 메서드로 작동하지 않는다는 것입니다.컨트롤러의 Yii2 동작이 작동하지 않습니다.

여기 내 코드입니다 :

public function behaviors() 
{ 
    return [ 
     'basicAuth' => [ 
      'class' => \yii\filters\auth\HttpBasicAuth::className(), 
      'auth' => function ($username, $password) { 
       if (! $this->isValidUser($username, $password)) { 
        return User::findByUsername($username); 
       } 

       return false; 
      } 
     ], 

    ]; 
} 

답변

-1

들, 나는이 버그를 해결했다.

우리가 behaviors를 호출하고 컨트롤러에 beforeAction metohd가있는 경우. beforeAction은 다음과 같아야합니다. 부모 클래스의 메소드 beforeAction에있는 행동을 호출하는 메소드.

public function beforeAction($event) 
{ 
    ... 

    return parent::beforeAction($event); 
} 
0

auth PARAM은 basicAuth 배열의 핵심이어야한다 :

public function behaviors() 
{ 
    return [ 
     'basicAuth' => [ 
      'class' => \yii\filters\auth\HttpBasicAuth::className(), 
      'auth' => function ($username, $password) { 
       // ... 
      } 
     ], 
    ]; 
} 

http://www.yiiframework.com/doc-2.0/yii-filters-auth-httpbasicauth.html

+0

Yeap은 변경되었지만 여전히 동일합니다. 질문에 새 코드를 복사하여 붙여 넣습니다. –

+0

첫 번째 질문에 대한 정답이었습니다 ... 어떻게 잘못 생각했는지 알 수 있습니까? – soju

관련 문제