在分布式的环境下,如何实现用户的单点登录以及权限控制?
(1)可以使用开源软件CAS,
CAS的客户端支持java,/net,php等语言
CAS的server支持多种登录方式,用户名,密码,图形。以及手机号和验证码,微信登录
如果业务是分布式开发,则需要与spring session联合使用,存储用户的登录状态。
或者使用cookie的方式
在登录控制的这个模块中,需要新增心跳模块解决
(1)系统支持会话超时失效以及用户在应用时候,延长有效性?
(2)服务端禁止用户时,如何保证用户及时退出应用?
获取用户的cook
正常解密
是否降级-是:正常访问
否-获取cookie
心跳是否超时--否--正常访问
是-心跳一下
是否成功-是-正常访问
否--登录页面
权限控制模块
可以使用开源组件:shiro来实现 或者 spring security
接口数据传输 使用AES加密
SHA256WithRSA签名保证安全性