aboat365 最近的时间轴更新
aboat365

aboat365

V2EX 第 354931 号会员,加入于 2018-10-10 09:30:57 +08:00
今日活跃度排名 2552
aboat365 最近回复了
7 天前
回复了 aboat365 创建的主题 开源软件 开源,是否是一门生意?
我在很久以前看到过有人讨论为什么中国开源的影响力不如欧美,其中从经济角度的观点令我记忆深刻。此观点认为,经济基础决定上层建筑,简而言之,原因是在软件发展史上,欧美比中国更为富裕。
8 天前
回复了 aboat365 创建的主题 开源软件 开源,是否是一门生意?
@yidinghe 这是一个非常好的盈利方式
发生什么事了,报复社会?
已给星,老铁前端写的很棒!我写了个业务支撑系统,前端技术比较渣,想邀你共同开源。项目地址 https://gitee.com/syksy/qingzhou
35 天前
回复了 Hanggi 创建的主题 Java 是时候寻找 Java 的替代方案了
token 翻译成中文就是令牌。因为 HTTP1.1 协议每次请求都是独立的,不能复用的连接。所以,在每次请求中都需要带上令牌。令牌有效期越长,那么请求携带次数就越多,传输过程越容易暴露令牌,导致安全性下降。总而言之,就是一个令牌使用时间和次数越多,那么在使用过程中越不安全。反之,把令牌有效期设置的越短,那么就越安全。但如果这样子,将导致用户体验很差。那么如何解决这个矛盾的?对于经典的 web 应用,令牌的有效时间是 30 分钟,在有效期内使用令牌请求,后端将刷新令牌的有效期。如果超过 30 分钟再发起请求,服务端会要求前端带上 refresh token ,即刷新令牌。刷新令牌有效期可以设置很多天,比如设置一周。刷新令牌设置这么长时间那不是很不安全?其实不是的,刷新令牌相比前面每次请求使用的令牌来说,区别在于低频次使用。虽然有效期长得多,但使用次数非常低,有的方案只用一次。如前所述,使用刷新令牌换取普通令牌,并获取一个新的刷新令牌,原刷新令牌作废。如此,便实现了用户登录后,只要不超过一周内访问服务,那便可以一直免登录(例如你手机上的微信)。最后关于令牌本身,可以是服务端随机生成的 session id ,也可以是服务端不保存映射关系的 JWT ,主要看具体应用场景。

最后归纳一下,token 和 refresh token 的区别在于有效期一个短一个长。使用上 token 用于每次请求,refresh token 用于 token 过期后去换取新的 token 和 refresh token 。这样设计的目的,就是为了解决安全性和使用体验之间的矛盾。
@s7964926 检查工程有没有统一加 URL 前缀,检查你的登出 URL 配置是否生效
@s7964926 WebSecurity 我记得可以有多个的,不同配置会合并,相同配置是否覆盖不清楚。我那开源项目身份认证使用 DSL 拼接,即使打成 jar ,用户也可以增加自己的身份认证实现。
根据你的需求来说,根本不需要写多个过滤器,在一个登录验证中,根据条件查询不同表即可。关于登出功能 404 ,你试试用 post 请求 /logout 。最后可以参考一下我的开源项目实现 https://gitee.com/syksy/qingzhou
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2926 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 11:31 · PVG 19:31 · LAX 03:31 · JFK 06:31
♥ Do have faith in what you're doing.