2016-06-25 7 views
0

Auth->login($this->data)을 사용하여 사용자로 로그인 할 수 있습니다. 내가 본 모든 로그인 후 Auth->user()을 디버깅하는 것은 사용자 이름과 암호입니다. Id가 자동 채워지는 것으로되어 있습니까? 아니면 수동으로 설정해야합니까? 몇 가지 자습서로 이동하면 ID가 이미 있어야하는 것처럼 보입니다.로그인 후 사용자 ID가 없습니다.

은 디버깅 무엇 :

\app\Controller\UsersController.php (line 90) 
array(
    'User' => array(
     'password' => '*****', 
     'username' => 'LittleRy' 
    ) 
) 

는 NDM 주석, 나는 그래서 요청 정보를 잡아해야 Auth->login()에 전화를 변경했습니다. 이 변경으로 login()은 항상 false를 반환합니다. 아래는 로그인 양식입니다. 나는 모든 것이 올바르게 전달되고 있다고 믿습니다.

<div class="users form"> 
<?php echo $this->Session->Flash('auth'); 
    ?> 
<?php echo $this->Form->create('User'); ?> 
    <fieldset> 
     <legend> 
      <?php echo __('Please enter your username and password'); ?> 
     </legend> 
     <?php echo $this->Form->input('username'); 
     echo $this->Form->input('password'); 
    ?> 
    </fieldset> 
<?php echo $this->Form->end(__('Login')); ?> 
</div> 
+1

** http : //stackoverflow.com/a/19970731/1392379** – ndm

+0

@ndm이 제안 된 변경 사항을 적용하여 더 큰 문제가 발생했습니다 –

+0

수십 가지의 이유가있을 수 있습니다. 잘못된 열 유형/길이, 암호가 해시 저장되지 않음, 구성된 모델/필드 이름이 뷰 템플릿에 사용 된 모델/필드 이름과 일치하지 않음 ... 모든 코드 및 컨텍스트 (컨트롤러 동작, 구성 요소 구성, 모델 스키마 + 데이터, 발행 된 쿼리와 같은 디버깅 결과, ...) 문제를 재현하는 데 필요한, 나는 당신이 많은 도움을 얻지 못할 것 같습니다. – ndm

답변

0

시도해보십시오. $ this-> Auth-> user ('id'); 사용자 ID를 얻으려면.