开发者社区> 问答> 正文

基于spring cloud 做的分布式系统,前后端分离,怎么限制用户登录次数

系统实现前后端分离,前端都是http请求,无状态的,通过zuul实现的网关来实现统一的访问入口,然后鉴权通过后访问后台服务,有个需求,系统有web端和app端,如何控制同一个账户在web端不ip地址可以登录两次,app端也一样,主要是游览器关闭情况和app强制退出情况下怎么实现 ?

展开
收起
追随 2018-04-17 16:00:25 5443 0
1 条回答
写回答
取消 提交回答
  • 主要是要有一个分布式存储来记录 IP 地址、用户、登陆次数的关系,可以使用分布式缓存来做(memcache 或者 redis)。浏览器关闭和 APP 强退的话,除非做长连接,否则服务端没法感知,但是长连接是非常消耗服务端资源的,不推荐做这么复杂,建议简单一点就用缓存超时来控制。比如浏览器或者 APP 每分钟向服务端上报一次登录状态,服务端刷新缓存,如果超出指定时间浏览器或者 APP 没有上报,那么缓存自动失效,可以实现下一次用户再登录的时候重新计数。

    2019-07-17 22:06:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载