繁体   English   中英

Java Servlet安全手册,对请求服务器端进行身份验证

[英]Java Servlet security manual authenticating a request server-side

我有一个提供网站内容的Java Servlet,它正在使用表单身份验证来登录用户并允许他们访问内容。 每当用户访问受保护的资源时,他就会被重定向到一个登录表单,该表单用于将用户名/密码发布到Web服务器中的j_security_check路径。 其余的由Java安全机制处理,该机制会生成用户会话,进行响应并将其重定向到他尝试访问的初始资源。 到现在为止还挺好。

我想做的是以下列方式为未登录用户提供对资源的访问:GET www.myserver.com/anotherLoginMethod=aasdfJKL其中aasdfJK是服务器生成的哈希。 服务器将其与用户帐户保持关联,当用户发送此GET请求时,我需要:

1)获取anotherLoginMethod参数值。 2)检索关联的用户帐户(凭据)。 3)自动登录用户,就好像他正在使用j_security_check处理程序中的用户名/密码进行POST一样。

那可能吗 ?

我尝试在Filter中使用HttpServletRequest的login和authenticate方法,但到目前为止没有成功。

这比较简单。 您需要决定1.您打算将哈希值及其与用户的关联保留在哪里? 2.您如何建议将哈希值提供给用户? 确保安全对于此步骤至关重要。

完成此操作后,您可以编写一个Servlet过滤器来拦截该请求,或者可以在Servlet本身中包含逻辑,获取与Hash值关联的用户,生成一个会话,就好像该用户已成功登录并重定向到所需的URL。 重要的是要了解与这种方法相关的安全性问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM