一号店后台系统的SSO解决方案

来源:互联网 发布:dota2 谜团 知乎 编辑:程序博客网 时间:2024/04/28 06:42

       今年年初入职一号店以来,使用的后台的系统很多,而且很乱,每个产品线的后台系统都有独立的域名和独立的登录方式,从企业工作效率和产品线整合考虑,很有必要将所有的后台系统整合起来,应此SSO解决方案就出现了。

      SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

     如今一号店SSO已经上线,效果如下:



最左侧是所有子系统的名称,通过点击可以展现每个子系统的子菜单

一号店点的SSO除了用于集成各个子系统的登录验证外,还负责用户授权,其中包括:功能菜单权限,功能点项权限(按钮 链接 文本展现等等),数据权限等等

设计思路:

    涉及系统的整体交互图


各个子系统公用一套memcached,memcached必须是一对HA节点,保证用户信息能够稳定被系统间公用

用户在backend登录后,记录用户cookie,将用户登录时间,用户信息,用户权限信息记录于memcached,用户点击其他系统,如:merchant,report等,通过cookie生成的key从memcached获取用户登录时间,如果当前时间-用户登录时间小于会话过期时间,表示该用户的会话未过期通过可以跳转到merchant和report系统,SSO系统每过一段时间要修改用户在memcached的登录时间,实现用户的会话过期时间续命

类图设计




原创粉丝点击