wordpress二次开发教程手记:站点用户数据共享后的登录问题
2013-07-04 16:07
731 查看
在上一个教程中小V实现了wordpress的多个站点站点的用户数据共享,但是用户在登录站点1后继续访问站点2时仍需要重新登录,这样对于用户体验的非常不好的,但是目前没有什么很好的解决方法,不过之前小V在《wordpress二次开发教程手记:多站点的用户数据共享》一文中解决了多个wordpress站点之间用户数据的互通共享问题,但是小V发现如果用户在登录站点1后继续访问站点2,任然需要重新登录。这样对于用户体验是非常不友好的,但是目前没有很完美的解决办法。接下来小V就发一个不是很完美的代替方案,利用wpmu中的cookie共享方案来解决这个问题。
首先说下这种方法适用的在什么情况下使用:
次级域名之间的通行登陆,例如1.v7v3.com和2.v7v3.com之间通行登陆
同一个域名下不同目录之间互相登陆,例如v7v3.com和v7v3.com/site以及v7v3.com/site1之间通行登陆,而且cookie也不能跨浏览器。
操作步骤:
1、打开主站的wp-config.php,找到类似于以下代码的代码。
3. 在主站和英文站的wp-config.php中创建下面代码,记得去生成一个复杂的随机字符串,不要直接拷贝,主站和英文站的SECRET_SALT值要相同
4. 在主站和英文站的wp-config.php中创建如下代码:
不同次级域名之间的通行登陆
在所有网站的wp-config.php中再加上
首先说下这种方法适用的在什么情况下使用:
次级域名之间的通行登陆,例如1.v7v3.com和2.v7v3.com之间通行登陆
同一个域名下不同目录之间互相登陆,例如v7v3.com和v7v3.com/site以及v7v3.com/site1之间通行登陆,而且cookie也不能跨浏览器。
操作步骤:
1、打开主站的wp-config.php,找到类似于以下代码的代码。
define('AUTH_KEY', 'E1hds(d)Pi#}15vM+:Vb2)+NO.2Z$V5t<ASxd]w1>T<xPe[<43*[5ekSGlnQ1<7l'); define('SECURE_AUTH_KEY', '!R012(b1 *St4pMeicGuVm?<kuR7wO(X+|HSB.IbVlh[Sw`mDp{UW^,3cIpyi-jD'); define('LOGGED_IN_KEY', '3|>)1#o>*y9UyTz3nG.]qg5*^}|wx1B)_1>])H+{Ofl[^a1l#~*;JYc<]0@#Zq1@'); define('NONCE_KEY', '+|taP{aNL[-d,{-/vo&iC ++hO;zZcf|M48*Ju|#u8<,4TC*F&:uWdPHFqdzm()w'); define('AUTH_SALT', ':-O^|#w&t_D)/w<bUwT_tk@S]D;ggDixOw<=I X+lTl]_@b~W## ;$D~xp^a=ka&'); define('SECURE_AUTH_SALT', 'IN]e6b@]pG2wyj[S)+pq5g3[%.+B^)L-{(n*866I&b-NWI2:Ey #+<+f~nyd-| &'); define('LOGGED_IN_SALT', 'O]6:#9@kn)./^ssR,42l4%8|M-Q($R=b~lY@EAj3?gcrPzj(@or4aSvV!CYq?hLI'); define('NONCE_SALT', '7#4-+^_t|XO}kQc_X1t~)no3W!kG5rlbOt-*rj)]8?=c*;i1#=Nb$sBxcd]fve+L');2. 拷贝主站wp-config.php中的AUTH_KEY和SECURE_AUTH_KEY到英文站的wp-config.php中,替换相应的行。如果嫌麻烦上面代码全部拷贝到英文站也可以。
3. 在主站和英文站的wp-config.php中创建下面代码,记得去生成一个复杂的随机字符串,不要直接拷贝,主站和英文站的SECRET_SALT值要相同
define('SECRET_SALT', 'Q$QuHIfQO^(CtrL5D(fcG$miB,fE2]-~::qoB,O_?o|TfgNfQB/x/kv$Tg1Aa7Hf');(PS:以上代码不要直接复制本站给出的代码,你可以到https://api.wordpress.org/secret-key/1.1/salt/去生成一个。)
4. 在主站和英文站的wp-config.php中创建如下代码:
define('ADMIN_COOKIE_PATH', '/'); define('COOKIEPATH', '/'); define('SITECOOKIEPATH', '/'); define('COOKIEHASH', md5('用自己的随机字符串替换'));5. 清除浏览器的cookie,选择其中一个网站登录,然后直接访问另一个网站的wp-admin,看是不是已经自动登陆了。
不同次级域名之间的通行登陆
在所有网站的wp-config.php中再加上
define('COOKIE_DOMAIN', 'v7v3.com'); //将v7v3.com换成你网站的根域名,必须是根域名!至此就完成了。
相关文章推荐
- 黄聪:WordPress 多站点建站教程(一):怎样开启WordPress多站点功能,实现手机移动端主题开发,与主站用户数据共享
- wordpress二次开发教程手记:多站点的用户数据共享
- wordpress二次开发教程手记:feed订阅功能的完善
- wordpress主题开发教程手记:wp-login.php登录页面优化
- iOS开发中本地数据存储的 ios登录成功后将用户的数据存储到本地 下次打开应用时不用重复登录了
- 在Forms验证模式下,实现多个站点(SubDomain相同)共享同一用户登录状态
- eeplat平台开发中限制多个用户同时登录同一个账号的问题解决方案
- Flex Viewer 开发教程(6)Widget与共享数据
- 来自damon的zencart二次开发教程-2.2登录模块分析
- Yii Framework2.0开发教程(10)配合mysql数据库实现用户登录
- 安装Oracle后用户登录,数据导入等一系列问题解决
- 匿名用户访问用发布站点模板创建网站的列表项时要求登录的问题解决
- 在Forms验证模式下,实现多个站点(SubDomain相同)共享同一用户登录状态
- DataProtection设置问题引起不同ASP.NET Core站点无法共享用户验证Cookie
- asp.net 连接sql server 2005 用户 'sa' 登录失败。--asp.net开发第一步连接的细节问题
- Java Web 开发利用Struts2+Spring+mybatis写一个用户登录界面以及简单的数据交互
- jeesite快速开发平台登录显示暂无数据问题
- wordpress多站点(MU)用二级域名(SUBDOMAIN)的单点登录(SSO)问题