美文网首页
多个wordpress共享用户信息、共享Cookie

多个wordpress共享用户信息、共享Cookie

作者: henni_719 | 来源:发表于2019-11-23 16:20 被阅读0次

    背景信息

    由于wordpress的问答平台QA主题与插件githuber-md-1.10.1不能共存,为了编写博文方便,因此重新创建了博客论坛。为了解决用户无缝衔接的困扰,因此打算两个网站公用一个数据库,共享用户信息。

    共享用户信息

    问答中心

    目前问答中心网址为:http://xxx.xxx.xxx/wordpress

    ​ 数据库名为:wordpress

    ​ 用户/密码为:root/root

    ​ 用户信息信息表为:wp_users、wp_usermeta

    ​ 表的前缀:wp_

    博客论坛:

    ​ 目前博客暂定网址为:http://xxx.xxx.xxx/blog,进入blog目录下,创建wp-config.php,把如下文本信息复制到创建创建文件中:

    <?php
    /**
     \* WordPress基础配置文件。
     *
     \* 这个文件被安装程序用于自动生成wp-config.php配置文件,
     \* 您可以不使用网站,您需要手动复制这个文件,
     \* 并重命名为“wp-config.php”,然后填入相关信息。
     *
     \* 本文件包含以下配置选项:
     *
     \* * MySQL设置
     \* * 密钥
     \* * 数据库表名前缀
     \* * ABSPATH
     *
     \* @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php
     *
     \* @package WordPress
     */
    
    // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
    /** WordPress数据库的名称 */
    define('DB_NAME', 'wordpress');
    
    /** MySQL数据库用户名 */
    define('DB_USER', 'root');
    
    /** MySQL数据库密码 */
    define('DB_PASSWORD', 'root');
    
    /** MySQL主机 */
    define('DB_HOST', 'localhost');
    
    /** 创建数据表时默认的文字编码 */
    define('DB_CHARSET', 'utf8mb4');
    
    /** 数据库整理类型。如不确定请勿更改 */
    define('DB_COLLATE', '');
    
    
    define('CUSTOM_USER_TABLE', 'wp_users');
    define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
    
    /**#@+
     \* 身份认证密钥与盐。
     *
     \* 修改为任意独一无二的字串!
     \* 或者直接访问{@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org密钥生成服务}
     \* 任何修改都会导致所有cookies失效,所有用户将必须重新登录。
     *
     \* @since 2.6.0
     */
    define('AUTH_KEY',     'VgL6&ACbHmLNV{0C|F_<gv0M %0D_*iA9nE[gfc`+pBgL!s/i}_Y(2?4Qp!9Ur_n');
    define('SECURE_AUTH_KEY', '`jWnvyU9jp,vB-@bvjm5LozjR__iVS*mt7Y9YUQ<X$3l.$h-[W3F6h!rk*z9<lMY');
    define('LOGGED_IN_KEY',  'yhF=.i$FcIn;d^f>jYCHSWN`G.CP<{p?7<3b{lNb7NoM;WQIp:j^ipzAFPA458Vb');
    define('NONCE_KEY',    'VHh&21a[wf;os>C}uM{#d:DP8]tYv(bD?rS,%k-AO/b_HKgpn.4cOZeL{aJFHGL+');
    define('AUTH_SALT',    'N5u4$Tvk.)->s<ctYo<1Ajeo/!?nKK7%qFOvo3S4S5?rKE|2o5X_ThTP5<P[N}G1');
    define('SECURE_AUTH_SALT', 'CTWg$s%ZtP1Br]Q=]bIzJ:=bNFz]6=IUT` V#VOfpp]d78,b+CS;LKJ E-so.TwL');
    define('LOGGED_IN_SALT',  '+IHY&j(]@<Zr[0L&ElJpya{I7}5Xz_wf!c)7&.fHz3l~X=hQp]9LVo{YLq{cTE<$');
    define('NONCE_SALT',    'z4}r7Nd{/N&WkG1}Yu3I5B?TcC[1>GN8m[9*Ta%rRy#Ezh{vIkC?>R*Qq*x5x3&3');
    
    /**#@-*/
    
    /**
     \* WordPress数据表前缀。
     *
     \* 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置
     \* 不同的数据表前缀。前缀名只能为数字、字母加下划线。
     */
    $table_prefix = 'bg_';
    
    
    /**
     \* 开发者专用:WordPress调试模式。
     *
     \* 将这个值改为true,WordPress将显示所有用于开发的提示。
     \* 强烈建议插件开发者在开发环境中启用WP_DEBUG。
     *
     \* 要获取其他能用于调试的信息,请访问Codex。
     *
     \* @link https://codex.wordpress.org/Debugging_in_WordPress
     */
    define('WP_DEBUG', false);
    
    /* 好了!请不要再继续编辑。请保存本文件。使用愉快! */
    
    /** WordPress目录的绝对路径。 */
    if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');
    
    /** 设置WordPress变量和包含文件。 */
    require_once(ABSPATH . 'wp-settings.php');
    

    安装成功之后,博客论坛网站可以使用之前问答中心的用信息登录使用。

    上述文件中的两行内容:

    define('CUSTOM_USER_TABLE', 'wp_users');
    define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
    

    表示两张表不进行创建,其表需要创建。这两张表存放用户信息。至此,用户可以登录博客平台。如果出现提示登录博客论坛未有权限,可以执行下述sql,但需要进行调整:

    insert into wp_usermeta SELECT NULL,`user_id`,REPLACE(`meta_key`,'wp_capabilities','bg_capabilities'),`meta_value` FROM `wp_usermeta` where `meta_key`='wp_capabilities'
    

    需要在这张表加入bg_capabilities,解决权限问题。

    实现Cookie共享

    问答中心wordpress、博客论坛blog目录的wp-config.php文件中/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */之前添加信息:

    define('SECRET_SALT','Q$QuHIfQO^(CtrL5D(fcG$miB,fE2]-~::qoB,O_?o|TfgNfQB/x/kv$Tg1Aa7Hf');
    define('ADMIN_COOKIE_PATH','/');
    define('COOKIEPATH','/');
    define('SITECOOKIEPATH','/');
    define('COOKIEHASH',md5('xxx.xxx.xxx'));
    

    重启服务,登录其中一个论坛,另一个论坛不需要登录,用户已经存在。

    实现效果

    登录前

    登录http://xxx.xxx.xxx/blog/前:

    在这里插入图片描述
    登录http://xxx.xxx.xxx/wordpress/前:
    在这里插入图片描述
    登录后:
    wordpress

    http://xxx.xxx.xxx/wordpress/

    wordpress
    登录http://xxx.xxx.xxx/blog/
    blog信息

    上述发现,登录完问答中心之后,博客论坛用户也已经登录成功。

    关注我们

    相关文章

      网友评论

          本文标题:多个wordpress共享用户信息、共享Cookie

          本文链接:https://www.haomeiwen.com/subject/jhmhwctx.html