1.用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证.2.如果验证成功,将调用位于uc_client下client.php文件中的函数uc_user_synlogin,在这个函数中调用 uc_api_post('user', 'synlogin', array('uid'=>$uid)).3.然后这个函数后向Ucenter的index.php传递数据,index.php接受传递的…
1.用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证. 2.如果验证成功,将调用位于uc_client下client.php文件中的函数uc_user_synlogin,在这个函数中调用 uc_api_post('user', 'synlogin', array('uid'=>$uid)). 3.然后这个函数后向Ucenter的index.php传递数据,index.php接受传…
1.用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证. 2.如果验证成功,将调用位于uc_client下client.php文件中的函数uc_user_synlogin,在这个函数中调用 uc_api_post('user', 'synlogin', array('uid'=>$uid)). 3.然后这个函数后向Ucenter的index.php传递数据,index.php接受传…
ucenter的同步登录原理: 1)Ucenter是和uc_client同步的.每个PHP应用,加入了UCENTER后,都会在主目录下有个UC_CLIENT目录.这个目录里,都有一个client.PHP. 2)以我的应用例子来说,我的ecshop系统和discuz系统都加入了ucenter.则ecshop登录时,user.php中的login会检查配置文件,并根据配置最终调用uc_client\client.php中的uc_user_synlogin. 3)uc_user_synlogin会调用…
应用中调用函数us_user_synlogin并输出 echo uc_user_synlogin($uid); 解析: 1. 该函数位于client.PHP中 2. 作用实质上是调用ucenter user模块的onsynlogin动作(该动作位于ucenter/control/user.php中) onsynlogin首先会根据uc_user_synlogin传过来的uid获取用户的数据,然后获取当前所有允许异步登录的应用的配置信息 最终将生成几个<script src="app_uc_…
1.Discuz x3 的登录页面URL是:/member.php?mod=logging&action=login 2.这个登录页面,登录提交的地址是: <form method="post" autocomplete="off" name="login" id="loginform_LKsWY" class="cl" onsubmit="pwdclear = 1;ajaxpost…
部署: discuz默认安装后就安装了uc_server应用 各应用根目录必须有uc_client文件夹. 下载ucenter程序查看范例程序 应用管理中,应用的主 URL必须指向到应用的根目录,应用接口文件名称,不含路径,默认为uc.php(默认在根目录的api目录下),从而程序会组成 http://localhost/api/uc.php 地址 应用的 UCenter 配置信息:最好和程序中的 config_xxx.php 文件对比下是否是程序自动生成的内容. 可能遇到的问题如下: Disc…
原文:http://www.php2.cc/article-1349-1.html 准备工作 1.下载ucenter源码,并安装好 2.下载ucenter开发源码,根据自己的项目下载对应版本(utf-8 ucenter-utf-8.rar ,gbk ucenter-gbk.rar ) 解压好之后,在里面能够看到三个文件夹与一个文件,全部copy到自己的项目根目录. 然后进入ucenter后台,创建应用. 应用类型:选择其他 应用名称:自己填写 应用的主URL:填写yii项目的网址 应用IP:填写…
利用UCenter实现discuz论坛和应用网站同步登录和退出功能 测试环境:Discuz! X3.2.UCenter 1.6..Net Framework 4.0 进入Discuz 后台的UCenter应用管理页面   UCenter 添加新应用 安装方式选择自定义安装.应用类型为其他.通信密钥可以自定义.开启同步登录和通知   添加新应用 集成UCenter API For DotNet   UC配置信息 把DS.Web.UCenter添加到项目中 修改项目App.Config配置信息: U…
首先,需要去官网下载一个ucenter的包.然后解压下来. 先把ucenter/ucenter这个文件夹复制到你的项目根目录下改名为uc_server;(这里只是我建议修改,以便于我下面写的配置); 然后将ucenter/advanced/uc_client复制粘贴到自己的项目上. 在你项目根目录创建一个api的文件夹.把ucenter/advanced/examples/api里头有个uc.PHP复制到你项目的api文件夹下. 其次同样,ucenter/advanced/examples把in…
最近笔者在实现Java项目对discuz的整合.在此过程中,查了很多这方面的资料,发现网上并没有说得比较全面的文章.笔者博取众长以及自己在此过程中遇到的问题,写下来供大家参考,希望大家可以在这过程中少走弯路.笔者在此过程中主要参考了https://code.google.com/p/discuz-ucenter-api-for-java/后,感谢作者ping china.大家可以到此下载接口. 第一步:写好你的配置文件config.properties.(把这个文件放J2EE工程的源路径下就行)…
最近做了一个资源库系统的项目,老师说可以搭建开源论坛替代自己开发社交模块(评论啊,反馈啊)来减轻负担,甚至提到了要给每个资源开一帖的功能..使我十分怀疑到底是减轻负担还是增加负担...不过怀疑归怀疑,虽然社交模块也可以自己做,但是还是比起discuz这种专业论坛还是差很多啊. 正好在开源中国上看到了一个利用discuz的UCenter功能实现同步登录的开源项目(https://code.google.com/p/discuz-ucenter-api-for-java/),不禁大喜,于是花了几个小…
在写这篇文章的时候,我还在想,这篇文章也许能给你带来一些收获,但或许会令你更加的迷茫,为什么会这样?因为:1.UCenter虽然足够强大,但正为它的强大,它的不少暗箱操作使得我们望而生畏,我们不害怕出错,我们害怕出错时抓不到出错点.2.同步登录经常会跨平台,跨服务器,跨域,跨数据库等.环境要求比较高,这使得我们需要更多地了解它. 最近公司弄了个团购项目,要求团购的用户和论坛的会员同步起来,以期实现优质会员享受更低折扣等功能.这个项目正是以asp.net开发,当然,在这里要非常感谢同步API的原作…
一.引言 Codis是一个分布式 Redis 解决方案,可以管理数量巨大的Redis节点.个推作为专业的第三方推送服务商,多年来专注于为开发者提供高效稳定的消息推送服务.每天通过个推平台下发的消息数量可达百亿级别.基于个推推送业务对数据量.并发量以及速度的要求非常高,实践发现,单个Redis节点性能容易出现瓶颈,综合考虑各方面因素后,我们选择了Codis来更好地管理和使用Redis. 二.选择Codis的原因 随着公司业务规模的快速增长,我们对数据量的存储需求也越来越大,实践表明,在单个Redi…
所谓单点登录,无非就是几个站点共用一个用户中心,实现同步登陆,同步退出. 服务器端:Loog SSO . 客服端: ucenter,说实话dz商业化确实让php发展了不少. ucenter 基本原理:其实最终还是 用户去登录 只是采用了ajax 用户不会发现. 我们来看看和ucenter的具体程序:config.php PHP代码 define('UC_CONNECT', 'mysql');    // 连接 UCenter 的方式: mysql/NULL, 默认为空时为fscoketopen(…
回顾 自定义指令 登录后获取登录信息session 首先在登录验证的时候保存一个user 在学生管理页面中运用ajax调用获取到登录的用户信息 对注销按钮添加点击事件:调用ajax在表现层给user赋值为null Angular实现单页应用 angular中实现单页应用是运用了UI-router插件 路由 后台中的路由是用来配置路径,分配请求的方法: angular中的路由也是同样的原理,通过导入ui-router插件,在main.js中配置不同的路由 实现方法 先导入ui-router文件 v…
到目前为止,我们已经讨论了ZooKeeper服务的基础知识,并详细了解了数据模型及其属性. 我们也熟悉了ZooKeeper 监视(watch)的概念,监视就是在ZooKeeper命名空间中的znode发生任何变化时完成的事件机制. 我们通过公开一组与znodes相关联的ACL来读取身份验证和基本安全模型. 在本节中,我们将通过介绍ZooKeeper session的概念来讨论和了解客户端与ZooKeeper服务交互的生命周期. 我们还将详细阅读ZooKeeper如何在内部描述协议. 了解以及深入…
本文解决的问题是目前流行的 Android/IOS 原生应用内嵌 WebView 网页时,原生与H5页面登录状态的同步. 大多数混合开发应用的登录都是在原生页面中,这就牵扯到一个问题,如何把登录状态传给H5页面呢?总不能打开网页时再从网页中登录一次系统吧… 两边登录状态的同步是必须的. 100 多位经验丰富的开发者参与,在 Github 上获得了近 1000 个 star 的全栈全平台开源项目想了解或参与吗?项目地址:https://github.com/cachecats/coderiver…
promise内部实现原理: function $Promise(fn) { // Promise 的三种状态 this.PENDING = 'pending' this.RESOLVED = 'resolved' this.REJECTED = 'rejected' this.onResolvedCallback = [] // 成功回调队列 this.onRejectedCallback = [] // 失败回调队列 this.status = this.PENDING // 初始状态 //…
Kafka是什么 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算. 1)Apache Kafka是一个开源消息系统,由Scala写成.是由Apache软件基金会开发的一个开源消息系统项目. 2)Kafka最初是由LinkedIn公司开发,并于 2011年初开源.2012年10月从Apache Incubator毕业.该项目的目标是为处理实时数据提供一个统一.高通量.低等待的平台. 3)Kafka是一个分布式消息队列.Kafka对消息保存时根据Topic进行归…
原文发表在我的博客主页,转载请注明出处. 前言 之前模拟仿真网络一直用的是Mininet,包括写了一些关于Mininet安装,和真实网络相连接,Mininet简历拓扑的博客,但是大多数都是局限于具体步骤的使用,直到今天,被问了一句:你知道Mininet的内部实现原理吗?瞬间懵比,所以找找资料搞明白这个问题. 实现原理 要了解Mininet的内部实现,需要了解Linux容器---网络命名空间.网络命名空间允许创建虚拟的网络域,这个网络域拥有自己的接口,IP地址,路由表等.网络命名空间通过虚拟的以太…
KVO的原理: 只要给一个对象注册一个监听, 那么在运行时, 系统就会自动给该对象生成一个子类对象, (格式如:NSKVONotifying_className), 并且重写自动生成的子类对象的被监听属性的set方法, 然后在set方法中通知监听者 // // ViewController.m // KVO内部实现原理 // // Created by sw on 15/4/13. // Copyright © 2015年 sw. All rights reserved. // #import…
研究Yii的同步登录大概2个多月,几乎查遍了网上所有资料和案例,但都不是很理想,最后摸索出整理出来以下配置方案. 以下配置文件在config.php中,所有需要同步的站点都需要填写.网上一些站点给出的有的只是一部分,导致我走了很多弯路,经过N次测试后,确定以下方案是完美的. [php] view plaincopyprint? 'components'=>array( 'user'=>array( //'class'=>'CWebUser',//你可以自定义你的Cwebuser 'ide…
最近一直在搞discuz论坛的二次开发,发现在论坛登录或退出的时候应用却没有同步登录或同步退出,这下子麻烦了,后来查看,原来没有产生js的同步代码,查找原因,发现$_G['setting']['allowsynlogin']为0,正常情况下是1. 我的论坛是从discuz7.2升级到discuz!x2的,会不会是缓存的原因,于是更新了下uc的缓存,问题还是没有解决,后来找朋友问了下让我更新discuz的缓存试试,结果恢复正常,能生产js同步代码了,但是在论坛登录的时候应用还是不能同步登录,在应用…
在平台开发过程中,项目分为前台(frontend)www.xxx.com和后台(backend) yun.xxx.com两部分,绑定两个域名, 我们知道在没有绑定域名的时候前后台可以同步登录和退出,但是绑定域名后就失效了,原因是session的作用域不同了. 两个域名的session作用域都只限制在了自己的域名上,我们的解决办法是将不同二级域名的作用域都改成顶级域名xxx.com. 以下部分代码来自网络收集. 在common/config/main.php里面增加如下代码: //跨域sessio…
web安全:QQ号快速登录漏洞及被盗原理 https://www.cnblogs.com/1996V/p/7481823.html 看了下 QQ的确监听 端口 大神牛B 自己这一块一直没深入学习过.. 为什么你什么都没干,但QQ空间中却发了很多小广告?也许你的QQ账号已经被盗.本文将讲解一个QQ的快速登录的原理. 而利用这个原理最终可以实现,只要你点击一个页面或运行过一个程序,那么我就可以拥有你的登录权限.可以直接进你邮箱,进你微云,进你QQ空间等.... 看懂本篇需要一点点web安全的基础,请…
7:CSS Sprites的原理(图片整合技术) 一.将导航背景图片,按钮背景图片等有规则的合并成一张背景图,即将多张图片合为一张整图,然后用background-position”来实现背景图片的定位技术. 二.图片整合的优势: 1)通过图片整合来减少对服务器的请求次数,从而提高 页面的加载速度. 2)通过整合图片来减小图片的体积. 2.CSS Sprites的实现方法 (1)滑动门技术 1.什么是滑动门 滑动门是一个形象的称呼,它利用CSS背景图像可层叠性,并允许彼此之上进行滑动来创造一些特…
Redis技术交流群481804090 Redis:https://github.com/zwjlpeng/Redis_Deep_Read 本篇博文紧随上篇Redis有序集内部实现原理分析,在这篇博文里凡出现源码的地方均以下述src/version.h中定义的Redis版本为主 #define REDIS_VERSION "2.9.11" 在上篇博文Redis有序集内部实现原理分析中,我分析了Redis从什么时候开始支持有序集.跳表的原理.跳表的结构.跳表的查找/插入/删除的实现,理解…
CSS Sprites的原理(图片整合技术)(CSS精灵)/雪碧图   一.将导航背景图片,按钮背景图片等有规则的合并成一张背景图,即将多张图片合为一张整图,然后用background-position"来实现背景图片的定位技术. 二.图片整合的优势: 1)通过图片整合来减少对服务器的请求次数,从而提高 页面的加载速度. 2)通过整合图片来减小图片的体积.   2.CSS Sprites的实现方法 3.图片整合原则 1)边切图边整合. 2)定位时避免使用bottom,right等,用具体的数值,…
Apache Lucene评分机制的内部工作原理' 第5章…