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

来源: 老季博客    日期: 2017-5-31        作者: 腾讯云/服务器VPS推荐评测/Vultr    阅读数: 44

最近在一个新的项目当中使用了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:j@localhost:3306/laoji'); // 数据库连接,使用Model方式调用API必须配置此项
define('UC_TABLE_PREFIX', 'laoji_'); // 数据表前缀,使用Model方式调用API必须配置此项

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

链接到文章: https://jiloc.com/43313.html

2 replies on “OneThink Thinkphp 跨站 跨域名 跨库 Ucenter 登陆 方法”

番茄说道:

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

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

发表回复

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