您的位置:首页 > 其它

discuz 论坛与主站同步登录

2013-08-28 16:40 162 查看
主站的登录判别是通过客户端的cookie的

还好,主域名是一样的,不然,通过的cookie实现同步登录估计就不行了

我用的是discuz X3

大概的思路逻辑是:

1、主站登录之后,用户去了论坛:

1、判断某个cookie 是否存在,比如is_login_key ,如果存在,则获取其值;

2、根据cookie值通过接口到主站获取此用户的信息;

3、查询discuz中是否存在此用户,如果存在,则获取其值,如果不存在则插入信息;

4、根据获取的值设置用户在discuz为登录状态;

主要更改的文件为./source/class/discuz/discuz_application.php:

主要是 $this->_init_autologin();

他的实体方法是:

my_func.php 文件中定义了调用主站的一些接口。

2、用户注册

注册的思路比较简单了,将用户的信息获取之后,调用主站的注册接口,如果返回成功,则在调用获取用户信息的接口,当然返回的信息中包含了login_key的值

加在./source/class/class_member.php文件中的 on_register方法

之后

request 方法是发送post/get请求的,网上一堆

3、用户在论坛上登录:

这个逻辑也比较简单了,就是根据用户的信息到主站去查询,如果存在,返回用户的信息,根据用户的信息判断是否存在,不存在则插入discuz的表中,然后设置其为登录状态:

./source/class/class_member.php的on_login方法的

之后

这样就基本上ok了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: