|
由于nginx的rewrite规则和apache不一样,造成了nginx下的一些规则不一样,一步步的来。
没权限发图,就先一步步写出来。
首先,基本的设置都已经做好了:内容如http://codeigniter.org.cn/forums ... hread&tid=17569,虽然给我的感觉是hex根本不知道什么是什么,回答的模棱两可。
首先,第一步,UC后台有个应用管理,这里其实是请求一个地址,如果返回为1则验证成功。
后台的请求地址如下:
GET /api/uc?time=1408605690&code=1672ubcWuY8b0pH8nuCx8NTfcrODPgMSF3xxxxixLHHC7u4zZGrCFDrTuiKJWKBQ5p9tiZ1AJ0T6vFg
假如CI的路径是:http://ci.doohui.com,那么Ucenter则会在后台请求如上的地址,结合起来就是:
http://ci.doohui.com/api/uc?time=1408605690&code=1672ubcWuY8b0pH8nuCx8NTfcrODPgMSF3xxxxixLHHC7u4zZGrCFDrTuiKJWKBQ5p9tiZ1AJ0T6vFg,如果返回是1,那么就是成功,如果不是,自己下断点。
如果这一步已经完成了,那么恭喜你,下面一步更简单:如何同步登录记录。
解决起来很简单:
找到uc_client/client.php 找到uc_user_synlogin()这个函数,然后在count($_CACHE['apps'])>1 修改成 count($_CACHE['apps'])>=1。
然后登录成功会出现如下的返回数据:
<script type="text/javascript" src="http://ci.doohui.com//api/uc?time=1408606349&code=1b1cOJzPrY8WqxKRsr1vlgP%2FSkweW2Db1PjzBJwsfPJhcTAV0vC%2FbY%2BKJ2g3kXaDBWRpaER0lVZOlgGwnGrNXvW6zmqUas8BSnEHB6g33N0LChTMtksDC9wbtE49UAEbTV%2FhYx0eDFk8Nql1tMviSNsK7eO6LbriySGMRw" reload="1"></script>
cookie就是在这步同步的。
如果您还有兴趣,之所以同步不成功,是没有返回这段的js代码,原因自己加断点之后发现就在这里:
uc_user_synlogin()这个函数,然后在count($_CACHE['apps'])>1 ,在data/cache/apps.php 里默认的配置文件只有一个,也就是>1永远不成立。没有这段js返回就不会去请求uc,就无法重置cookie啦。
如果还有问题,请发邮件到anven.cullen@gmail.com
|
评分
-
查看全部评分
|