v2016
V2EX  ›  PHP

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

  •  2
     
  •   v2016 · Dec 21, 2018 · 6635 views
    This topic created in 2873 days ago, the information mentioned may be changed or developed.

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

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

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

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

    UCenter 来源于 Discuz,可以单独安装并作为一个 CAS 系统,是大约 5 年前比较流行的方案。只需要简单配合上 WordPress 以及 Typecho 的插件即可。
    botian
    botian
    Dec 21, 2018
    14
    写两个 api,调用两个 api,保存 cookie
    0myun
    0myun
    Dec 21, 2018
    15
    接 ucenter 吧
    这俩貌似都有人做过适配
    eseeker
    eseeker
    Dec 22, 2018
    16
    可以用 OAuth 2.0,我的 www.mite5.com ,www.weigediao.net 就是这么搞的
    linvaux
    linvaux
    Dec 22, 2018
    17
    做单点登录呗
    rekulas
    rekulas
    Jan 10, 2019
    18
    php 也可以实现 session 共享的 不过似乎这样的项目不多 大多还是写 cookie
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1361 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 20:11 · PVG 04:11 · LAX 12:11 · JFK 15:11
    ♥ Do have faith in what you're doing.