OneThink Thinkphp 跨站 跨域名 跨库 Ucenter 登陆 方法

最近在一个新的项目当中使用了OneThink的快速建站,但是需求中需要使用另外一个的用户进行登录,而切好那个站也是使用的OneThink写的。

如果2个站使用同一个一级域名,如(www.laoji.org ,hr.laoji.org),像这样的话可以使用跨域名session,Api接口jsonp等方式进行返回。

ini_set('session.cookie_path', '/');
ini_set('session.cookie_domain','.laoji.org');//跨域访问Session

我们这里推荐一个更简单的方法,基于OneThink 的 Ucenter ,所以我们这里直接在?\Application\User\Conf\config.php 中将用户的数据库直接设置成目标库即可。

/**
 * UCenter客户端配置文件
 * 注意:该配置文件请使用常量方式定义
 */

define('UC_APP_ID', 2); //应用ID
define('UC_API_TYPE', 'Model'); //可选值 Model / Service
define('UC_AUTH_KEY', 'laoji.org'); //加密KEY
define('UC_DB_DSN', 'mysqli://root:[email protected]:3306/laoji'); // 数据库连接,使用Model方式调用API必须配置此项
define('UC_TABLE_PREFIX', 'laoji_'); // 数据表前缀,使用Model方式调用API必须配置此项

这里需要确保的是,2个站的加密key一直,否则可能导致登陆密码算法不一致而无法登陆。

厂家CPU内存硬盘流量价格购买链接
RamNode11GB25GB-SSD500GB/mUSD $5购买
Linode11GB25GB-SSD1000GB/mUSD $5购买
DigitalOcean11GB25GB-SSD1000GB/mUSD $5/m购买
腾讯云Qcloud22GB50GB-SSD购买
Vultr11GB25GB-SSD1000GB/mUSD $5/m购买

Posted

in

by

Tags:

Comments

《“OneThink Thinkphp 跨站 跨域名 跨库 Ucenter 登陆 方法”》 有 2 条评论

  1. 番茄

    您好,可以详细讲一下两个onethink系统之间怎么实现单点登录吗?我在本地试了您的方法,不起作用

    1. 比如2个域名:
      http://www.jiloc.com
      testtest.jiloc.com
      我在其中一个域名登录了,那么另外一个也自动登录上去了。
      大概就是这么个意思。具体的代码实现已贴在文章里了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注