统一登录设计
背景:
在系统设计中,我们常遇到统一登录问题。如某平台,有会员功能,平台外挂一商城。平台和商城是2个独立的web系统,但商城和平台共用的会员系统。因此会员在平台一旦登录,则进入商城则不需再次进行登录。
这里进行简单易行的方案设计。
A方案:
平台和商城维护各自session。商城对用户除了提供商城登录功能外,还提供‘已在平台登录?点此使用平台授权’获取在平台的登录情况而代替到数据库查找功能。 商城:调用平台服务获取登录情况代替到数据库查找,而后流程和在商城登录功能一样,用户信息继续保存在session。
平台:提供用户登录情况接口。
双方约定接口:
1)查询用户登录情况接口(平台提供),
2)使用平台授权信息登录商城接口(商城提供)。商城从平台获取登录情况完成登录过程。用户在平台登录,平台使用这个接口可引导用户直接登录到商城。
为了更加通用,上述平台与商城也可引申为中心和子系统。那么上述问题也就是中心和子系统之间的统一登录问题。