处理多次登录表单springboot web的会话超时

问题描述 投票:0回答:1

我构建了一个具有多个登录表单的Webapp(用户1个,管理员1个)。会话超时时出现问题,如果我在管理仪表板页面中,如果会话超时,我希望它进入管理员登录页面。如果Im在用户仪表板页面中,如果会话超时,它将转到用户登录页面。

但是当前它们都进入用户登录页面(如果登录的用户是管理员,则不进入管理员登录页面)

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig {

    @Configuration
    @Order(2)
    public static class ApartmentManagerSecurityConfig extends WebSecurityConfigurerAdapter {

        @Override
        protected void configure(HttpSecurity http) throws Exception {

            http.authorizeRequests()....and()
                    .sessionManagement().maximumSessions(1).and().invalidSessionUrl("/userLoginForm");
        }
    }

    @Configuration
    @Order(1)
    public static class GovernmentStaffSecurityConfig extends WebSecurityConfigurerAdapter {

        protected void configure(HttpSecurity http) throws Exception {
            http.antMatcher("/gs/**").authorizeRequests()...
                    .and().sessionManagement().maximumSessions(1).and().invalidSessionUrl("/adminLoginForm");
        }
    }
}
spring-boot authentication spring-security session-timeout multiple-login
1个回答
0
投票
invalidSessionUrl-无效时重定向到的URL检测到会话
配置invalidSessionUrl("/gs/adminLoginForm")应该与antMatcher("/gs/**")匹配以获得管理员登录页面

注意:我还没有尝试过。

© www.soinside.com 2019 - 2024. All rights reserved.