系统实现前后端分离,前端都是http请求,无状态的,通过zuul实现的网关来实现统一的访问入口,然后鉴权通过后访问后台服务,有个需求,系统有web端和app端,如何控制同一个账户在web端不ip地址可以登录两次,app端也一样,主要是游览器关闭情况和app强制退出情况下怎么实现 ?
主要是要有一个分布式存储来记录 IP 地址、用户、登陆次数的关系,可以使用分布式缓存来做(memcache 或者 redis)。浏览器关闭和 APP 强退的话,除非做长连接,否则服务端没法感知,但是长连接是非常消耗服务端资源的,不推荐做这么复杂,建议简单一点就用缓存超时来控制。比如浏览器或者 APP 每分钟向服务端上报一次登录状态,服务端刷新缓存,如果超出指定时间浏览器或者 APP 没有上报,那么缓存自动失效,可以实现下一次用户再登录的时候重新计数。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。