- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OpenCenter与其他站点进行同步
OpenCenter与其他站点进行同步
我们这里采用OpenCenter和OenThink来做案例,当然如果你要配置到自己开发的网站也是可行的。
第一步:下载OpenCenter和OneThink两个系统,并安装他们。
第二步:首先我们登录OpenCenter后台。从官方的单点登录手册我们可以看出每一个OpenCenter都可以作为用户中心或者应用来配置的,现在我们先在后台- 授权- 应用列表中新增应用
填写好了之后点击确定会自动生成配置信息
之后我们打开OpenCenter中的OcApi/OCenter/Model/Base.php文件我们可以看到__construct函数中需要用到oc_config.php文件 但是现在却没有这个文件 所以我们需要自己创建一个文件
至于创建的目录我们可以先找到OC_ROOT的配置 总结可以得出配置文件应该写到OcApi目录下。
文件中我们放入上面生成的应用配置信息 array前面要记住加return
好了 现在我们的用户中心这边就暂时配置到这里 下面我们切换到应用站点中去
首先我们将用户中心站点上配置好之后的整个OcApi目录复制到应用站点根目录上
然后打开目录中的oc.php,我们可以看到文件51行处有个文件引用,这里的文件非常重要,由于是自己的站点所以这个目录并不存在 我们要创建这样的文件并写入自己站点的数据库配置信息
做到这里我们就可以去OpenCenter后台看看了,我们会发现应用连接成功了
既然已经连接成功了 那么接下来我们要做的就是同步了
首先我们来讲讲同步是怎么个原理
应用使用同步登录的函数告知用户中心我登录了
用户中心接收到消息后向每一个应用发送登录通知
其他站点接收通知信息后进行相关解密操作然后进行同步登录
由于现在没有其他站点我们先看用户中心站点:OpenCenter
首先我们先看看OpenCenter的登录中是什么样的
进入Application/Ucenter/Controller/MemberController.class.php 来到login方法 我们可以看出这里用的是渲染写的 那么我们再次来到上级目录的Widget/LoginWidget.class.php文件找到doLogin方法
这里解释OC单点的过程 发现我们上面有这个配置 那么我们现在先登录下测试吧 用OpenCenter登录前台
测试前我们来应用Oc.php的登录接收函数中写一个日志看看 发现并没有写入,找找原因吧
通过断点我们发现OcApi/Ocenter/Model/User.php文件中doSynLogin方法有点小问题 在105行这里$app[config_data][SSO_SWITCH] $app[id] ! $this- appid 我们要将后面的! 改为
下面我们再次测试一下
发现文件已经写入了 这样我们的同步登录就基本完成了
剩下的就是在应用站点处理这些数据了
文档评论(0)