我正在寻找为Codeigniter构建一个库,该库与Wordpress数据库通信以提供登录,注销和注册等功能。与通过Wordpress站点登录相比,通过Codeigniter应用程序登录应该没有什么区别。所以我可以在他们两个之间切换而无需登录两次。
我不打算“将Wordpress与Codeigniter集成”以及其他人要求的内容。我只想使用Wordpress DB对用户进行身份验证,然后创建正确的cookie等。
如果有人知道我已经存在的任何项目对我有所帮助,我想了解它们。
答案 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中查找的用户帐户信息,然后您可以像使用其他任何身份验证方法一样使用它。