设计的前提是用户的会话控制由token(令牌)控制:
用户登录时验证用户信息,通过校验后,生成一串唯一的uuid的串,然后用此uuid设计为token并赋予失效时间。将token持久化到数据库并且同步与缓存中。每次请求时验证token是否符合规范,并且token的失效时间大于当前时间。
用户每次登陆时,会重新生成一个uuid,每次生成完成之后覆盖掉原先的token数据。这样会导致在其他浏览器or设备的token无效。至此一个简单的sso单点登陆设计完成。
此单点登录为最简单的设计,诸位根据业务可适当更改。