PHP 如何多个网站后台只要登录一次 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
v2016
V2EX    PHP

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

  •  2
     
  •   v2016 2018-12-21 21:52:32 +08:00 5950 次点击
    这是一个创建于 2560 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    UCenter 来源于 Discuz,可以单独安装并作为一个 CAS 系统,是大约 5 年前比较流行的方案。只需要简单配合上 WordPress 以及 Typecho 的插件即可。
    botian
        14
    botian  
       2018-12-21 23:25:35 +08:00
    写两个 api,调用两个 api,保存 cookie
    0myun
        15
    0myun  
       2018-12-21 23:36:50 +08:00
    接 ucenter 吧
    这俩貌似都有人做过适配
    eseeker
        16
    eseeker  
       2018-12-22 10:23:14 +08:00
    可以用 OAuth 2.0,我的 www.mite5.comwww.weigediao.net 就是这么搞的
    linvaux
        17
    linvaux  
       2018-12-22 15:03:55 +08:00
    做单点登录呗
    rekulas
        18
    rekulas  
       2019-01-10 17:17:36 +08:00
    php 也可以实现 session 共享的 不过似乎这样的项目不多 大多还是写 cookie
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1057 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 18:31 PVG 02:31 LAX 10:31 JFK 13:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86