Codeigniter(或其他框架)的Wordpress auth库

时间:2011-08-22 21:09:19

标签: wordpress codeigniter

我正在寻找为Codeigniter构建一个库,该库与Wordpress数据库通信以提供登录,注销和注册等功能。与通过Wordpress站点登录相比,通过Codeigniter应用程序登录应该没有什么区别。所以我可以在他们两个之间切换而无需登录两次。

我不打算“将Wordpress与Codeigniter集成”以及其他人要求的内容。我只想使用Wordpress DB对用户进行身份验证,然后创建正确的cookie等。

如果有人知道我已经存在的任何项目对我有所帮助,我想了解它们。

2 个答案:

答案 0 :(得分:3)

This is an example似乎需要的整合。它不是CI,但它只是一些功能,可以作为起点。


<强> EDITED

重新审视这个问题,我觉得你觉得这很麻烦,因为你必须重写WP做得很好的事情。

无论哪种方式,cookie的名称都包含网站的前缀和编译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);

此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...
}

奖金包

在研究WP代码的同时,正在编写一个小型库,直接在CI中使用WP登录和访问级别。提供bitbucket GPL2许可(作为WP):CiWp-Auth

答案 1 :(得分: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中查找的用户帐户信息,然后您可以像使用其他任何身份验证方法一样使用它。