客户端IP地址变化要求重新登录

admin2024-07-02  34

有这样一个场景,应用对用户的授权跟用户所在IP段有关,用户在某网段登录后,如果其IP发生变化,再访问应用,那么应用需要用户重新登录。
简单易实现的有两个方案:
一,服务器在session.user里把登录时的IP放进去,之后拦截器把每次的req.ip和session.user里的loginip进行比对,匹配则放行,否则重定向到登录页面。
二,服务器不在session.user里放入登录时的IP,而是将用户的登录IP和sessionID加密保存在cookie中,拦截器器每次从cookie中取值,也可以进行比对,匹配则放行,否则重定向到登录页面。
其中方案一会占用服务器更多的存储资源,不过比对效率高一些;方案二服务器存储资源会占用得少一些,比对效率稍低一些。
这两种方案都或多或少都依赖session,当然url带尾巴或者header里其他参数也可以把用户登录时相关信息一直带着,不过信息容易被前端修改,或者要考虑一些加密签名之类的技术辅助才行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!