加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – JSESSION / HTTPSession与应用程序制作的会话ID

发布时间:2020-12-15 02:24:13 所属栏目:Java 来源:网络整理
导读:在基于专有MVC和授权模型的Web应用程序中,我们最近迁移到了 Spring MVC. 作为该移动的一部分,我们还在考虑从每个请求传递的本地创建的GUID转移到基于cookie的会话ID. 从表面上看,看起来好像在我们的情况下,这样做将是一个很大的缺点,因为标准的JSESSION / Ht
在基于专有MVC和授权模型的Web应用程序中,我们最近迁移到了 Spring MVC.
作为该移动的一部分,我们还在考虑从每个请求传递的本地创建的GUID转移到基于cookie的会话ID.

从表面上看,看起来好像在我们的情况下,这样做将是一个很大的缺点,因为标准的JSESSION / HttpSession似乎是所有安全邪恶的根源:

>会话修复(现有代码会话仅在成功登录后创建,因此我们永远不需要使会话无效().
> CSRF – 会话永远不会作为cookie传递,所以这绝不是一个风险(上帝,这是一个有问题的处理,因为没有真正的框架或通用解决方案,因此检查HDIV和CSRFGuard).
>测试可用性 – QA可以轻松地让多个用户具有连接到同一服务器的多个角色,而JSESSION则无法实现.
>在各种容器(Weblogic,JBOSS和Websphere)中创建和失效的一致HTTPSession
>在HTTP到HTTPS之间移动时,JSession处理不一致.

所以,除了“标准”的明显优势之外,还有任何关于我为什么要进入JSESSION路线的线索?

解决方法

关于为什么你应该或不应该使用jsession,并不是一个明确的答案,但对你的担忧仍然有一些评论:

>您的应用程序不应该依赖于会话存在与否的事实.它应该依赖于会话根据您放在其上的某些规则有效的事实(用户身份验证,分配给该用户的角色等)
>只要你注意不使用GET进行合理的操作,CSRF就不是什么大问题,而且当你提到Spring MVC时,用它来实现它很容易.
>是的,如果你只依靠一个浏览器.作为旁注,虽然手动测试仍然是某些情况的必要条件,但许多用例可以从自动化中受益,从而减少必须从角色切换到另一个角色的影响.
>永远不会遇到问题.但我试图尽可能减少会话的内容.
>那是件好事.它可以防止您在没有注意到的情况下远离安全连接.

现在,无论你选择什么选项,都会有一些缺点.在每个请求中(因此可能在每个GET URL中)具有UUID不允许您的用户轻松使用书签.也不保持他们的会议活着.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读