不要为匿名用户启动会话

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不要为匿名用户启动会话相关的知识,希望对你有一定的参考价值。

如何在spring boot 2.0中禁用匿名用户的会话?

我目前的配置:

public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/actuator/**").permitAll()
                .antMatchers("/password/forgot/**").permitAll()
                .antMatchers("/password/reset/**").permitAll()
                .antMatchers("/css/**").permitAll()
                .antMatchers("/js/**").permitAll()
                .antMatchers("/img/**").permitAll()
                .antMatchers("/manage/**").permitAll()
                .antMatchers( "/favicon.ico").permitAll()
                .anyRequest().authenticated();

        http
                .formLogin()
                .loginPage("/login")
                .permitAll()
                .successHandler(authSuccessHandler)
                .and()
                .logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")).logoutSuccessUrl("/login")
                .invalidateHttpSession(true)
                .permitAll();
    }
}

当我打开登录页面时,仍然会创建一个会话:

enter image description here

答案

也许会话由Spring Security自动创建。通过将create-session设置为never可以禁用该行为。这意味着Spring Security不会尝试自动创建会话。

<http create-session="never">
[...]
</http>

这里有更多细节:https://www.baeldung.com/spring-security-session

以上是关于不要为匿名用户启动会话的主要内容,如果未能解决你的问题,请参考以下文章

匿名用户的 Django 会话

如何启动匿名线程类

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

小程序各种功能代码片段整理---持续更新

如何检查会话是否已启动并重定向用户? [重复]

Parse 平台中会话过期时重复的匿名用户