Nis*_*ava 2 wordpress integration cakephp autologin
我一直忙于将Wordpress集成到CakePHP应用程序之一.最后一周我破解了集成它的方法.现在我遇到的另一个问题是客户端想要自动登录在CakePHP端登录的用户,我也这样做了本地工作正常.我正在使用CakePHP的Session变量,它在cakephp的core.php中设置,在Wordpress中也是如此.自动登录插件的代码片段是: -
session_name("Cake_PHP_Session_Vars");
session_start();
function auto_login(){if (!is_user_logged_in()) {
//determine WordPress user account to impersonate
$user_login = 'guest';
//get user's ID
$sessVars = $_SESSION['User'];
$user_id = $sessVars['id'];
//login
wp_set_current_user($user_id, $user_login);
wp_set_auth_cookie($user_id);
do_action('wp_login', $user_login);
}}add_action('init', 'auto_login');
Run Code Online (Sandbox Code Playgroud)
这一切在本地系统上工作正常但是当我把它放在服务器上时,它没有用完.请告诉我这里可能存在什么问题.提前致谢
我纠正了我面临的问题.我只是通过Session变量中设置的User Id将当前用户从Cake Side设置为WP.但是Cake的用户表中增加的id可能会有所不同,当我们将它放入Wp_users表时可能与那个不同.所以在新的插件中我刚添加了一些行,其中检索登录用户的用户名然后获取该用户的ID,因为我们知道有两个可能性(或者更多)具有相同USERNAME的用户.这就是为什么我们然后获取会话中我们拥有的用户名的ID然后使用
wp_set_current_user($user_id, $user_name);
Run Code Online (Sandbox Code Playgroud)
你们都可以看到我用$ user_name(从会话变量中取出)替换了$ user_login(默认情况下设置为Guest).现在工作正常.主要问题是在我的本地系统Cake的Table和Wordpress表中Synced非常好,但在服务器中同步有一些问题.
| 归档时间: |
|
| 查看次数: |
1106 次 |
| 最近记录: |