2012-04-12 2 views
0

작동하지> CustomAuthorization 클래스는 다음 코드 사용하여 내 자신의 사용자 정의 인증을 만들기 위해 요리 책을 사용 :CakePHP는 2.1 제대로

올바른 자격 증명을 어떻게 든
// Controller/Auth/CustomAuthenticate.php 



App::uses('BaseAuthenticate', 'Controller/Component/Auth'); 

class CustomAuthenticate extends BaseAuthenticate { 

    public function authenticate(CakeRequest $request, CakeResponse $response) { 
     return false; 
    } 
} 

// Controller/UserController.php 


class UserController extends AppController { 
    var $components = array('Auth' => array('authenticate' => array('Custom'))); 

    public function login() { 
     // some code that includes: 
     $this->Auth->login($this->request->data); 
    } 
} 

, 로그인이 작동하는 것 같다을 인증 할 방법하지만 내 CustomAuthentication 클래스에서 false를 반환합니다. 난 당신이 로그인 폼에 $this->request->data을 통과되어 있지 않기 때문에이 때에 프로퍼티를 일을 기대할 수 없다

+0

아마 그것은 모든'authenticate()'메소드가 ... false를 반환하기 때문입니다. –

답변

1

CakePHP는 2.1을 사용하고

.

그냥

$this->Auth->login(); 

이다, 그렇지 않으면 당신은 건너 뛰는 인증하고 전달 된 데이터가 항상이 사용자를 기록합니다. 관계없이 garbige 또는 올바른 자격 증명 인 경우. 로그인 양식으로 절대 그렇게하지 마십시오.

+0

그건 사실이 아니에요 ... http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#manually-logging-users-in, 그 외에, 내 질문에 대답하지 않습니다. –

+0

2.x가 있습니까? 2.0에서 this-> Auth-> login ($ this-> request-> data)은 게시 된 데이터가 무엇이든간에 사용자를 기록합니다. "=> thats just 내가 말한 것. 그리고 이것이 코드가 이런 식으로 행동하는 이유이기도합니다. 강제 로그인으로 authenticate() 메소드를 건너 뜁니다. 인증과 인증을 혼동시킬 수도 있습니다. – mark

+0

죄송합니다, 바로 당신입니다! 이것은 1.3 이후로 큰 변화이며 큰 두통을주었습니다. 고마워! –

관련 문제