当前位置: 首页 > 知识库问答 >
问题:

如何在Spring安全设置登录到期时间

胡高朗
2023-03-14

嗨,我已经在springboot中实现了Spring Security性。现在我希望登录到期时间为10分钟,以便到期后页面将重定向到页面`@Configuration@EnableWebSecurity公共类ApplicationSecurityConfiguration extends websecurityconfigureradicater{

@Autowired
private UserDetailsService userDetailsService;

@Autowired
private LoginSuccessHandler loginSuccessHandler;

@Bean
AuthenticationProvider authenticationProvider(){
    DaoAuthenticationProvider authenticationProvider=new DaoAuthenticationProvider();
    authenticationProvider.setUserDetailsService(userDetailsService);
    authenticationProvider.setPasswordEncoder(new BCryptPasswordEncoder());
    return authenticationProvider;
}



@Override
protected void configure(HttpSecurity http) throws Exception {
    
    http
    .csrf().disable()
    .authorizeRequests()
    .antMatchers("/js/**","/webjars/**","/images/**","/css/**").permitAll()
    .anyRequest().authenticated()
    .and()
    .formLogin().loginPage("/login").successHandler(loginSuccessHandler).permitAll()
    .and()
    .logout().invalidateHttpSession(true).permitAll();
    
    http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.ALWAYS)
    .maximumSessions(1).expiredUrl("/sessionExpired");
    /*http.authorizeRequests()
    .antMatchers("/")
        .permitAll()*/
        
    /*.and()
        .formLogin()
        .loginPage("/login")
        .defaultSuccessUrl("/home")
        .loginProcessingUrl("/checkLogin")
        .failureUrl("/login")
        .permitAll()
    .and()
        .logout()
        .logoutSuccessUrl("/login")
        .invalidateHttpSession(true)
        .permitAll()*/
    /*.and()
        .csrf()
        .disable()
        ;*/
        
    
}

} `

共有1个答案

巫马英豪
2023-03-14

对于Springboot应用程序,您需要在application.property中设置属性server.servlet.session.timeout=15m。如果默认情况下没有指定时间单位,则需要秒

 类似资料:
  • 我正在使用带有java配置和两个HttpSecurity配置的spring-security 3.2.0.rc2。一个用于REST API,一个用于UI。当我发布到/logout时,它重定向到/login?logout,但随后(错误地)重定向到/login。当我成功地输入用户名和密码时,我会被重定向到登录-注销,并且必须再次输入凭据才能进入主页面。因此,似乎login的permitAll不被用于l

  • 和maven依赖关系...

  • 我有一个有效的配置,它包装了基于jersey的RESTendpoint,并允许方法级访问。 包含快速重现问题所需的一切的示例项目:https://github.com/pulkitsinghal/dummy-rest-api 但在为受保护的endpoint编写健全性测试时,我遇到了以下异常,这种异常只发生在单元测试中: 以下是基于JerseyTest的单元测试类的外观: 在为受Spring Sec

  • 本文向大家介绍Vue设置长时间未操作登录自动到期返回登录页,包括了Vue设置长时间未操作登录自动到期返回登录页的使用技巧和注意事项,需要的朋友参考一下 Vue设置长时间未操作登录以后自动到期返回登录页 首先我们写在main.js文件中 我们会在登陆成功后调用sessionUtil文件中的setSession,sessionUtil下面写的有 在routerutil.js文件中 在sessionut

  • 当此用户登录系统时,我想更改用户名。我实现了自己的加密算法,但无法获得真正的密码来进行新的认证并将其放入

  • 问题内容: 我使用Django REST框架JWT Auth进行会话创建和权限,唯一的问题是:登录时以及令牌过期后,除非再次登录,否则我无法继续执行所需的操作。而且我 还不完全了解为其他设置提供的文档 。 因此,谁能解释一种动态创建(和刷新)令牌(遵循最佳实践)的方法,以便在登录后继续进行操作。 PS:我在前端使用angular 2,并将令牌插入Http request标头中。谢谢。 问题答案: