Spring Security - 匿名身份验证 - HttpSessionRequestCache

时间:2014-05-14 15:37:15

标签: java spring spring-security

请帮我解决这个问题。

void setCreateSessionAllowed(boolean createSessionAllowed)

的方法

org.springframework.security.web.savedrequest.HttpSessionRequestCache 上课说

如果为true,则表示允许将目标URL和异常信息存储在新的HttpSession中(默认值)。在您不希望不必要地创建HttpSession的情况下 - 因为用户代理将知道失败的URL,例如使用BASIC或摘要式身份验证 - 您可能希望将此属性设置为false。

所以我没有正确理解描述,我们也在使用产品,其文档说将其设置为false将禁用匿名用户会话的创建。 所以我的问题是,创建会话并将其与请求相关联是servlet容器的工作。那么如何使用此方法(setCreateSessionAllowed)将不会创建会话。 请验证我的理解,是否正确。也

setCreateSessionAllowed(false),是否会创建JSESSIONID?

1 个答案:

答案 0 :(得分:3)

HttpSessionRequestCache将客户端请求的最后一个URL保存在用户会话中。 当spring重定向到登录页面时,弹簧安全性会使用它,以便在成功登录后恢复URL。 如果是基本或摘要,则直接验证身份验证或要求使用凭据重新发送请求。因此,不需要URL缓存。

如果setCreateSessionAllowed设置为true,则默认情况下会创建一个会话来存储最后一个url。 如果设置为false,则仅在已创建会话时才支持此功能。 如果没有存储url,spring security将使用spring security配置中提供的默认目标URL。

至于你的上一个问题,对我来说,它对你的提及产品的匿名登录功能有何影响并不是直截了当的。