用户
 找回密码
 入住 CI 中国社区
搜索
查看: 7875|回复: 19
收起左侧

[Web] CodeIgniter 2.0.2 整合UCenter 1.5.2

  [复制链接]
发表于 2011-5-27 11:19:20 | 显示全部楼层 |阅读模式
本帖最后由 apollosaar 于 2012-6-6 10:20 编辑

                                                这个是最新版本的整合,查资料都是老版本的,(新版有所变动),所以根据新版本发布一个新版本的便于新手参考!


首先CI的目录结构不变,是怎么样的就是怎么样的!跟CI没啥多大的关系.
第一步;
[ROOT]
├─api    (UCenter 文件夹之一)
├─application
│  ├─cache
│  ├─config
│  ├─controllers
│  ├─core
│  ├─errors
│  ├─helpers
│  ├─hooks
│  ├─language
│  │  └─english
│  ├─libraries
│  ├─logs
│  ├─models
│  ├─third_party
│  ├─user_guide
│  │  ├─database
│  │  ├─doc_style
│  │  ├─general
│  │  ├─helpers
│  │  ├─images
│  │  ├─installation
│  │  ├─libraries
│  │  ├─nav
│  │  └─overview
│  └─views
├─include    (UCenter 文件夹之二)
├─config.inc.php    (注意:UCenter 配置文件)
├─system
│  ├─core
│  ├─database
│  │  └─drivers
│  │      ├─mssql
│  │      ├─mysql
│  │      ├─mysqli
│  │      ├─oci8
│  │      ├─odbc
│  │      ├─postgre
│  │      └─sqlite
│  ├─fonts
│  ├─helpers
│  ├─language
│  │  └─english
│  └─libraries
│      ├─Cache
│      │  └─drivers
│      └─javascript
└─uc_client    (UCenter 文件夹之三)
├─control
├─data
│  └─cache
├─lib
└─model
第二步;
http://uc.com.cn/admin.php(UCenter管理中心添加应用,和普通方式一样!)
第三步;
在UCenter管理中心查看当前应用 “UCenter 配置信息” 将其复制到 config.inc.php中,即可实现通信成功!
第四步(重要部分);
在控制器中正确的导库写法是:
require_once FCPATH.’./config.inc.php’;
require_once FCPATH.’./uc_client/client.php’;
错误的导库写法:
include ‘./config.inc.php’;
include ‘./uc_client/client.php’;
原因是CI的URL规则的问题!所以在这里特别指出!
按照此上步骤 CodeIgniter 2.0.2 整合UCenter 1.5.2 即可成功!
原创文章,转载请注明: 转载自The New Think

                                                                                       
 楼主| 发表于 2011-5-27 11:20:46 | 显示全部楼层
占位待编
发表于 2011-7-1 19:45:57 | 显示全部楼层
感谢您的教程,我已经同步成功了.
然后结合UC的范例,整合到CI里面.
用户数据库是用UC的,但是写好之后发现利用CI端可以同登同退,但是用UC端就不行了.
从CI端登陆,查看cookic看到了这样的情况:
1.jpg
他的路径是:/ci/index.php/(登陆的时候自动生成的!)
当然在CI端执行退出的时候我也加了一句:
PHP复制代码
setcookie('Example_auth', '', -86400,"/ci/index.php/");
复制代码

这样才能顺利的退出!
但是从UC端登陆的时候他不会生成路径是/ci/index.php/的Cookic.
所以他不会同步的登陆退出,不知道楼主有什么解决方法?
小弟学的还不够深只能请您帮助了!
发表于 2011-7-1 20:26:58 | 显示全部楼层
是我粗心大意了,其实在config.inc里面有这样的一个参数!

PHP复制代码
//同步登录 Cookie 设置
$cookiedomain = '';                     // cookie 作用域
$cookiepath = '/';                      // cookie 作用路径
复制代码

发表于 2011-7-1 21:32:16 | 显示全部楼层
再来说说我的新发现,就是cookie的作用路径在各个浏览器下的差别!
chrome:/index.php
friefox和ie9:/index.php/

这个………………我快要抓狂了!
发表于 2011-7-1 21:47:49 | 显示全部楼层
本帖最后由 pctit 于 2011-7-1 21:48 编辑

弄个折中的办法,config.inc中的Cookic写成这样
PHP复制代码
//同步登录 Cookie 设置
$cookiedomain = '';                         // cookie 作用域
$cookiepath = '/ci/index.php';                        // cookie 作用路径
复制代码

上面的可以让chrome顺利的同步退出!


然后在CI端的退出中加上:
PHP复制代码
setcookie('Example_auth', '', -86400,"/ci/index.php/");
复制代码

这个可以让Firefox和IE9顺利的退出!

崩溃~~~  谁来和我唠叨几句!一人自言自语很闷的!
发表于 2011-7-4 20:31:50 | 显示全部楼层
提供一个完整 的示例嘛,可以偷下懒~~
发表于 2011-7-16 22:03:54 | 显示全部楼层
留个脚印,
发表于 2011-8-13 11:13:52 | 显示全部楼层
谢谢分享。 顶一个啊。
发表于 2011-8-26 15:41:44 | 显示全部楼层
ucenter文件夹之二 的那个  include 文件是哪儿冒出来的?

本版积分规则