Библиотека Wordpress для Codeigniter (или другой платформы) - PullRequest
3 голосов
/ 23 августа 2011

Я собираюсь создать библиотеку для Codeigniter, которая взаимодействует с базой данных Wordpress для таких функций, как вход в систему, выход из системы и регистрация.Вход через приложение Codeigniter не должен иметь никакого значения по сравнению с входом через сайт Wordpress.Так что я могу переключаться между ними без необходимости входа в систему дважды.

Я не собираюсь "интегрировать Wordpress с Codeigniter" и что-либо еще, о чем люди спрашивают.Я просто хочу использовать базу данных Wordpress для аутентификации пользователей, а затем создавать правильные файлы cookie и т. Д.

Если кто-нибудь знает о каких-либо уже существующих проектах, которые могут быть полезны мне, когда я приступаю к этому, я хотел бы услышатьим.

Ответы [ 2 ]

3 голосов
/ 23 августа 2011

Это пример интеграции, которая кажется необходимой.Это не CI, но это всего лишь пара функций, которые могут служить отправной точкой.


EDITED

Похоже, что вопрос еще размне, что вы спрашиваете, потому что это громоздко, потому что вы должны переписать вещи, которые WP делает очень хорошо.

В любом случае, имена файлов cookie состоят из префикса и идентификатора компиляции сайта, это просто md5URL блога.Определены в файле " 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);

Содержимое этого файла cookie будет выглядеть примерно так: admin | 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...
}

Bonus Pack

При изучении кода WPписал небольшую библиотеку, которая делает именно это, используя вход в WP и уровни доступа непосредственно в CI.Доступен в лицензированной Bitbucket GPL2 (как WP): CiWp-Auth .

0 голосов
/ 23 августа 2011

WordPress использует MD5 для шифрования своего пароля, так что вы можете просто запросить таблицу wp_users с именем пользователя и паролем после того, как вы его MD5. Запрос будет выглядеть примерно так:

$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, тогда вы можете работать с ним, как и любой другой метод аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...