2013-08-26 4 views
1

나는 사용자 정의 드라이버 여기 보았다 인증Kohana Auth 맞춤형 드라이버, 모델 사용자?

를 확장 'Auth_MyDriver'을 만든 방법 : http://kohanaframework.org/3.2/guide/auth/driver/develop

그리고이 드라이버를 사용하는 경우, 그것은 잡고 있음 /에서 "test_users"대신 사용자의 로그인 않았다 "users"이제

, 나는 사용자 정의 드라이버를 사용할 때 "MyDriver"는 Auth::instance()->get_user() IT는 username 문자열을 반환합니다. 나는 기본 "orm"인증 드라이버를 사용하고 모든 사용자 테이블에서 잡고 사용자 데이터와 함께 전체 개체를 반환, 그래서 당신이 호출 할 수 있습니다 Auth::instance()->get_user()를 호출 할 때

예를 들어 Auth::instance()->get_user()->email

어떻게 할 수 내 (test_users, test_roles, test_roles_users)

나는 찾아내는 것을 시도에 시간을 보냈다, 나는 모델 사용자에 관하여 무언가를 생각한다. , 나는 이것을하기 위해 나의 주문의 운전자를 위해 필요로한다?

도움이 필요하십니까?

는 업데이트 :

내 MyDriver이

public function get_user($default = NULL) 
{ 
    return $this->_session->get($this->_config['session_key'], $default); 
} 
+0

드라이버에서'get_user' 메소드를 변경 했습니까? 그리고/또는 세션을 사용 했습니까? – kero

+0

@kingkero 내 업데이트를 확인하고, 내 사용자 정의 드라이버가 파일 드라이버와 동일한 get_user()를 사용합니다. – Karem

답변

1

마지막으로 인증 파일 드라이버와 동일한 방법이있다 : 나는 단순히 데이터베이스에서 사용자를 잡고

을 객체로 전환 및 전송 complete_login :

$user = DB::select()->from($table_name) 
->where('username', '=', $username) 
->as_object()->execute()->current(); 

if(!empty($user)) 
{ 
    if($password == $user->password) 
    { 
     return $this->complete_login($user); 
    } 
} 

다음과 같이하십시오 :