单点登录随笔

Ucenter 的会员整合机制

  ucenter他所起到衔接各个站点会员注册,登录的作用,ucenter的会员表中包含了你需要整合的各个网站的所有会员,用户不管在哪个网站注册,程序先是把会员信息添加到了Ucenter会员表中,然后在添加到当前网站的会员表里面,而在登录的时候,程序是先去查询ucenter会员表中是否存在该用户,如果存在,再查询当前网站会员表中是否存在,如果该网站会员表中不存在就证明该用户是通过另外一个站点注册的并且是在该站点第一次登陆,就需要把该会员添加到当前站点的会员表中。上面所说的就是ucenter的会员整合机制了。

单点登录的一般思想

  SSO(Single Sign On).的定义是 在多个应用系统中,用户只需要登录一次就可以访问所有互相信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。

  基本流程:当用户第一次访问应用1的时候,因为还没有登录,会被引导到认证系统中进行登录;

       根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;

       用户再访问其他应用的时候就会将这个ticket带上,作为自己的认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用2和应用3了.


Cookie 跨域(操作P3P):

  在开发中,我们碰到的跨域主要还是纠结在IE,页面中的IFRAME或者FRAME或者JS跨域的时候,IE有安全策略限制页面不带cookie,但是如果我们加上P3P,就没有这策略的限制。这也是P3P来突破跨域的可行前提。

  这里说的跨域主要是设置cookie的情况,如果是跨域读取cookie,要保证在对应设置cookie的时候设置了P3P,否则在读取的时候IE会屏蔽跨域cookie.(火狐不用设置P3P也能跨域)

  eg:  

  

        header( 'P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"' );
	setcookie("testa",$_GET['id'],time()+3600,'/',".aaa.com");

 

posted @ 2012-04-09 19:32  关越  阅读(253)  评论(0)    收藏  举报