首先,声明一点,sso和任何语言没有关系,因为我只懂php,为了非php程序员误入,所以就起了这样的标题。
我也是这几天才接触这个sso的,sso就是要解决同步登陆、退出的问题。如果有什么错误的地方,请指出,谢谢。
假设当前情况有passport系统、应用blog和应用album,实现应用之间同步登陆退出之类的操作。
我的方案是这样的,passport系统有三个模块,一个是OBServer模块,一个是Action模块,还有Api模块。
OBServer模块有Register和Notice两个功能,Register是激活用户应用,Notice是同步登陆应用。
Action主要负责用户的登录和登出
Api模块主要负责分配和验证应用的Ticket
应用系统有Gateway模块,主要响应来自Passport的同步信息。
用户访问应用有两种情况:[list=1]
[*]用户首次访问某个应用的时候会向Passport系统激活本应用,如果用户已经登录,则同步过来。
[*]用户执行登录操作,验证成功后Passport系统向所有已激活的应用Gateway模块请求同步
[/list]
之所以有OBServer模块主要是考虑,当应用太多的话,同步付出的代价太大,而用户却未必要使用该应用,造成了浪费。
有几个问题需要继续思考的:[list=1]
[*]如何交互?
[*]用什么方式确保信息安全?
[*]用什么方式跳转?
[*]性能怎样?
[*]这个方案是否可行?
[/list]
吃饭去了。。。
我也是这几天才接触这个sso的,sso就是要解决同步登陆、退出的问题。如果有什么错误的地方,请指出,谢谢。
假设当前情况有passport系统、应用blog和应用album,实现应用之间同步登陆退出之类的操作。
我的方案是这样的,passport系统有三个模块,一个是OBServer模块,一个是Action模块,还有Api模块。
OBServer模块有Register和Notice两个功能,Register是激活用户应用,Notice是同步登陆应用。
Action主要负责用户的登录和登出
Api模块主要负责分配和验证应用的Ticket
应用系统有Gateway模块,主要响应来自Passport的同步信息。
用户访问应用有两种情况:[list=1]
[*]用户首次访问某个应用的时候会向Passport系统激活本应用,如果用户已经登录,则同步过来。
[*]用户执行登录操作,验证成功后Passport系统向所有已激活的应用Gateway模块请求同步
[/list]
之所以有OBServer模块主要是考虑,当应用太多的话,同步付出的代价太大,而用户却未必要使用该应用,造成了浪费。
有几个问题需要继续思考的:[list=1]
[*]如何交互?
[*]用什么方式确保信息安全?
[*]用什么方式跳转?
[*]性能怎样?
[*]这个方案是否可行?
[/list]
吃饭去了。。。