在“无状态模式下”避免使用Spring安全认证创建JSESSIONID cookie

时间:2015-04-15 08:31:48

标签: java spring spring-security

我需要构建一个无状态的休息服务。因此,不能在应用服务器上创建会话,也不能在标头响应中创建JSESSIONID cookie。

在我的spring XML文件中,我添加了以下配置:

  <http create-session="stateless"  disable-url-rewriting="true" use-expressions="true">
  <intercept-url pattern="/product/**" />
  <intercept-url pattern="/*"  />
  <http-basic />
 </http>

这样就不会创建JSESSIONID cookie。 Everthing没问题。

但是,只要我添加身份验证配置,如下所示:

<context:component-scan base-package="training.rest" />
 <http create-session="stateless" use-expressions="true">
  <intercept-url pattern="/product/**" access="hasRole('ROLE_ADMIN')"/>
  <http-basic />
 </http>

 <authentication-manager alias="authenticationManager">
  <authentication-provider>
   <user-service>
    <user authorities="ROLE_ADMIN" name="user1" password="password1" />
   </user-service>
  </authentication-provider>
 </authentication-manager>

我在响应头中看到了JSESSIONID。

如何解决此问题并确保标头响应中未返回JSESSIONID cookie?

0 个答案:

没有答案