PHP 如何多个网站后台只要登录一次

2018-12-21 21:52:32 +08:00
 v2016

比如我搭建了一个 Wordpress 和一个 typecho 博客 如何单独写一个登录页面出来,登录后访问这两个网站我都是已登录状态 如果有大神有想法的话,那能否增加点难度,如果不在同一服务器如何实现。

5229 次点击
所在节点    PHP
18 条回复
AngryPanda
2018-12-21 21:57:05 +08:00
sso
sker101
2018-12-21 21:58:30 +08:00
登录同时保持两份 cookie 就是调用两边的登录功能 当然登出的时候也要同时注销两边的 cookie
再或者就是重写登录 cookie 两边共用自己写的登录状态
hlwjia
2018-12-21 21:59:14 +08:00
可以是可以实现,但是 wordpress 和 typecho 的改动我就不清楚有多困难了,反正自己写的服务是完全可以的。

核心就是你有个 central 登录服务,具体的流程好复杂,让其他大神写吧
v2016
2018-12-21 22:00:02 +08:00
@sker101 可以在单独页面写入一个新的 cookie 然后把 wp 和 tp 的 cookie 名称都改为新 cookie 的名称吗
qiayue
2018-12-21 22:03:35 +08:00
登录状态,无非是浏览器发送 cookie,后端查找有没有 session,有则是登录状态。
你写一个单独页面,登录后跳转到一个中间页,这个页面内嵌两个 iframe,分别嵌入 wp 和 typecho 的 url。
然后在 wp 和 typecho 的 url 里写 session 和 cookie 就好了。
aimerforreimu
2018-12-21 22:03:41 +08:00
jwt 可以实现,或者 session 共享
aimerforreimu
2018-12-21 22:04:09 +08:00
@aimerforreimu 我记得 wp 有个 jwt 的插件
v2016
2018-12-21 22:10:56 +08:00
@qiayue 是在嵌入 wp 和 tp 的页面写入 session 和 cookie 就好了吗?
onepix
2018-12-21 22:12:24 +08:00
jwt
abux1024
2018-12-21 22:17:01 +08:00
一楼 sso
qiayue
2018-12-21 22:19:54 +08:00
@v2016 我说的其实就是一种简单 sso 实现,linode 就是这么做的,每次登录后有一个简短的空白页就是在写
sker101
2018-12-21 22:20:50 +08:00
@v2016 可以 tp 不清楚 wp 支持在不改源码的情况下重写登录函数
当然 这些就看你能接受多少工作量 jwt 也是 除非 tp 和 wp 都有开箱即用的插件 不然都得自己写
zzfly256
2018-12-21 23:19:41 +08:00
楼上已经有人给出了方案,SSO 单点登录。

因为 wordpress 和 typecho 都有自己一套用户系统,共享 session 可能比较麻烦,不过可以试试 UCenter 巧解。

UCenter 来源于 Discuz,可以单独安装并作为一个 CAS 系统,是大约 5 年前比较流行的方案。只需要简单配合上 WordPress 以及 Typecho 的插件即可。
botian
2018-12-21 23:25:35 +08:00
写两个 api,调用两个 api,保存 cookie
0myun
2018-12-21 23:36:50 +08:00
接 ucenter 吧
这俩貌似都有人做过适配
eseeker
2018-12-22 10:23:14 +08:00
可以用 OAuth 2.0,我的 www.mite5.comwww.weigediao.net 就是这么搞的
linvaux
2018-12-22 15:03:55 +08:00
做单点登录呗
rekulas
2019-01-10 17:17:36 +08:00
php 也可以实现 session 共享的 不过似乎这样的项目不多 大多还是写 cookie

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/519876

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX