gpt4 book ai didi

java - GWT 验证的用户 session

转载 作者:行者123 更新时间:2023-12-01 15:42:37 26 4
gpt4 key购买 nike

我的网络应用程序由两部分组成:

  1. GWT 应用程序可以完成所有工作。
  2. 手工制作的 servlet 旨在处理 OpenID 身份验证工具。

我需要将 p.2 连接到 p.1。我正在阅读LoginSecurityFAQ ,所以我想在这里确认一下我的理解是否正确。

  1. 一旦 OpenID 提供商确认用户正常并向我提供其身份,我就应该注册 session 。
  2. 要“注册” session ,我应该在数据库中的某个位置存储 OpenID 身份和 session ID 之间的映射 (identity="https://www.google.com/accounts/o8/id?id=wwyruiwncuyrwieruyfakefakefake" session ID 是一个很大的随机字符串,例如“HiuhoiuhIUHOIUY87Y*&Ttgi6yUYGIuygUHGugyg^G6g”)。
  3. 该 session ID 应存储在客户端的 Cookie 中。
  4. 每次从客户端发送任何请求时,在服务器端,我都应该检查客户端的 session ID 是否仍然足够新鲜( Activity ),并且我还应该使用它来解析客户端的身份,以备不时之需。

是吗?如果 session ID 很大,是否足够安全?

最佳答案

你的想法是对的,我也或多或少是这样做的。

几点说明:

1) 如果您想保留身份,请不要忘记正确设置领域。否则,根据 OpenID 提供商的不同,同一用户下次登录时可能会得到不同的身份。我认为 Google 的 OpenID 要求您使用服务器名称加端口:

openIdManager.setRealm("http://" + req.getServerName() + ":" + req.getServerPort());

2) 为什么要创建自己的 session 管理?这是相当多的额外工作,您最终可能会写出一些不安全的东西。使用通用的 http servlet session 。

3) 如果您使用 http session ,则无需管理 session 超时,但如果您需要拦截所有 GWT RPC 调用,则正确的位置可能是重写 RemoteServiceServlet 实现中的 service 方法.

关于java - GWT 验证的用户 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7784654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com