【问题标题】:Spring Security Not Setting JSESSIONID CookieSpring Security 未设置 JSESSIONID Cookie
【发布时间】:2017-09-25 02:51:22
【问题描述】:

当用户注册时,我也尝试在同一步骤中对他们进行身份验证。我在网上四处查看,这似乎是这样做的方式:

UserDetails userDetails userDetailsService.loadUserByUsername(username);
// Set authenticated
Authentication auth = new UsernamePasswordAuthenticationToken(userDetails, password, userDetails.getAuthorities());
authenticationManager.authenticate(auth);
if (auth.isAuthenticated()){
    // This is hit every time, seemingly signaling 
    // that authentication is happening
    SecurityContextHolder.getContext().setAuthentication(auth);
}

但是,这并没有设置 JSESSIONID cookie,因此当用户第一次尝试访问受保护的资源时,他们必须再次登录。关于如何解决这个问题的任何想法?我正在使用 Spring Security 的 4.0.1.RELEASE 版本。

我还在我的配置中设置了以下内容,但我不确定它是否相关:

http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED);
http.sessionManagement().maximumSessions(1);
http.sessionManagement().sessionFixation().migrateSession();

【问题讨论】:

    标签: java spring spring-security


    【解决方案1】:

    原来我的服务器不知何故损坏了。它也随机拒绝 api 调用,所以我重新安装了服务器,现在一切正常。

    【讨论】:

      猜你喜欢
      • 2016-02-11
      • 2012-06-30
      • 2016-08-17
      • 2012-09-26
      • 2017-02-27
      • 2015-01-09
      • 2019-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多