2011-08-22 2 views
2

Wordpress 데이터베이스와 통신하는 Codeigniter 용 라이브러리를 빌드하여 로그인, 로그 아웃 및 등록과 같은 기능을 제공하고자합니다. Codeigniter 앱을 통해 로그인하면 Wordpress 사이트를 통해 로그인하는 것과 비교하여 차이가 없어야합니다. 따라서 두 번 로그인하지 않고도 둘 사이를 전환 할 수 있습니다.Codeigniter (또는 다른 프레임 워크) 용 Wordpress 인증 라이브러리

"Wordpress를 Codeigniter와 통합"하고 다른 사람들이 묻는 것은 아닙니다. 나는 단지 Wordpress DB를 사용하여 사용자를 인증하고 올바른 쿠키를 만들려고합니다.

만약 내가 이것에 착수하면서 나에게 도움이 될만한 이미 존재하는 프로젝트를 알고 있다면 그들에 대해 듣고 싶습니다.

답변

3

This is an example 필요한 것 같습니다. 그것은 CI가 아니지만 단지 몇 가지 기능이며 출발점으로 사용할 수 있습니다. 이 문제를 다시 방문

편집을 할


, 당신이 WP는 매우 잘 수행 일을 다시 할 필요가 있기 때문에 복잡으로 물어 날 것으로 보인다.

어느 쪽이든 쿠키의 이름은 사이트의 접두사와 컴파일 ID로 구성되며 블로그의 URL은 md5입니다. 파일 "wp-includes/default-constants.php"에 정의되어 있습니다.

이처럼 사용할 수 있습니다 관심있는 하나

//$wp_url like this: http://domain.com, Exactly as written in the configuration 
$cookie= "wordpress_logged_in_".md5($wp_url); 

이 쿠키의 내용을 것 같은 : 관리자 | 7C1314493656 | 7Cdd41a2cd52acbaaf68868c850f094f9f

$cookie_content= explode("|",$this->input->cookie($cookie,true)); 
if(count($cookie_content)>0){ 
    $user_name= $cookie_content[0]; 
}else{ 
    //No user identified, do something... 
} 

보너스 팩

WP 코드를 연구하는 동안 WP 로그인 및 액세스 레벨을 CI에서 직접 사용하여 작은 라이브러리를 작성합니다. Bitbucket GPL2 라이센스 (WP) : CiWp-Auth.

+1

이 라이브러리를 직접 만들지 않으셨습니까? 공유해 주셔서 감사합니다. 'http : // blog.marketingadept.com/integrate-codeigniter-and-wordpress /'와 같은 유사한 프로젝트가 여기에 있습니다. 나는이 프로젝트에 흥분하고있다. 감사! – user13186

+0

이 코드는 오래된 코드입니다. 나는 유용하게되어 기쁘다. 인사말. –

0

WordPress는 MD5를 사용하여 암호를 암호화하므로 MD5 이후에 사용자 이름과 암호로 wp_users 테이블을 쿼리 할 수 ​​있습니다. 쿼리는 다음과 같이 보일 것입니다 :

$credentials = array(
    'user_login' => $this->input->post('username'), 
    'user_pass' => md5($this->input->post('password')) 
); 
$this->db->where($credentials); 
$user = $this->db->get('wp_users'); 
당신이 $user VAR에서 찾고있는 사용자 계정 정보를 반환해야

는, 당신은 다른 모든 인증 방법처럼 작업 할 수 있습니다.

+0

물론, 근본적인 인증 방법은 WP처럼 작동해야하고, 동일한 쿠키 등을 만들거나 WP에 로그인 할 수 있지만 Codeigniter 앱에 로그인하지 않아야합니다. 또한 잊어 버린 암호 기능이 어떻게 작동하는지 연구해야 할 필요가 있습니다. 사용자 대 WP DB를 단순히 확인하기를 원하지 않기 때문에 Codeigniter 인증 시스템이 WP와 원활하게 작동하기를 바랍니다. –

+0

아마도 이것은 작동하지 않을 것입니다. Wordpress는 [phpass] (http://www.openwall.com/phpass/) 라이브러리를 사용합니다.이 라이브러리는 Blowfish와 확장 DES를 사용할 수없는 최후의 수단으로 MD5 만 사용한다고 생각합니다. 그것이 MD5를 사용한다면, 암호는 소금에 절인 것이고, 나는 MD5의 여러 반복이 실행될 것이라고 생각한다. –

+0

phpMyAdmin을 사용하고 일반 텍스트 암호 MD5를 변환하도록 요청하여 내 자신의 암호를 여러 번 변경했습니다. 어떤 점에서 ... 슈미츠 솔루션이 효과가 있다고 생각합니다. –

관련 문제