Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 认证、授权和认证;无会话的用户跟踪_Java_Session_Jakarta Ee_Tomcat - Fatal编程技术网

Java 认证、授权和认证;无会话的用户跟踪

Java 认证、授权和认证;无会话的用户跟踪,java,session,jakarta-ee,tomcat,Java,Session,Jakarta Ee,Tomcat,使用Java Web应用程序(JSP/Servlet,无EJB),在不使用HttpSession的情况下,对用户进行身份验证和授权其操作的最佳方法是什么 NB这种方法/问题的原因是我希望我们的应用程序保持无状态,因此我不需要在地理位置分散的数据中心内复制完整的会话,并且可以更轻松地在集群中添加和删除服务器 谢谢公钥基础设施。创建您自己的CA,签署并分发用户证书。在服务器上启用客户端身份验证。成功登录后生成令牌,并在每次请求时仅验证此令牌。当然,令牌需要被复制,但它不应该超过100字节的数据,因此

使用Java Web应用程序(JSP/Servlet,无EJB),在不使用
HttpSession
的情况下,对用户进行身份验证和授权其操作的最佳方法是什么

NB这种方法/问题的原因是我希望我们的应用程序保持无状态,因此我不需要在地理位置分散的数据中心内复制完整的会话,并且可以更轻松地在集群中添加和删除服务器


谢谢

公钥基础设施。创建您自己的CA,签署并分发用户证书。在服务器上启用客户端身份验证。

成功登录后生成令牌,并在每次请求时仅验证此令牌。当然,令牌需要被复制,但它不应该超过100字节的数据,因此与典型的
HttpSession
的“重”重量相比,对性能的影响非常小。

您可以使用“隐藏表单字段”或“URL重写”

基本身份验证(通过HTTPS)?OAuth?都是好主意(我根本没有考虑过基本的Auth)。OAuth可能是一个很好的方法,但是……您能再解释一下这个方法吗?我很好奇,但不确定我们的应用程序将如何进行a)向每个注册的用户分发证书,b)基于证书进行身份验证,c)在共享计算机上确保合理的安全级别。ThxOh,还有,我们的网站同时在HTTP和HTTPS下运行,所以这种方法还可以考虑吗?这只适用于HTTPS,所以对您来说可能不是一种好方法(应该在“隐藏表单”字段中输入什么?并非所有页面都包含表单。我将此答案标记为已接受,因为它提供了与我所寻找内容最接近的匹配。