springboot动态网站开发53SpringSecurity会话管理和用户退出48课件讲解.pptxVIP

  • 0
  • 0
  • 约3.62千字
  • 约 15页
  • 2026-02-09 发布于陕西
  • 举报

springboot动态网站开发53SpringSecurity会话管理和用户退出48课件讲解.pptx

目CONTENTS

录一会话管理

二用户退出

用户,为了避免用户的每次操作都进行认证,可以将

。会话就是系统为了所提供

的机制,常见的有基于。Spring

Security提供会话管理功能,只需要配置即可使用。同时,如果想结束

当前会话,可以在自定义退出功能中销毁会话中的用户信息。下面将在

SpringBoot项目中基于SpringSecurity。

会话管理

SpringSecurity对用户信息后,会将的上

下文对象SecurityContext中,SecurityContext与当前线程进行绑定,

时,可以通过SecurityContextHolder获取对象,进而使用

对象获取用户信息。

Authenticationauthentication=

SecurityContextHolder.getContext().getAuthentication();

if(!authentication.isAuthenticated()){

returnnull;

}

UserDetailsuserDetails=(UserDetails)

authentication.getPrincipal();

Stringusername=userDetails.getUsername();

默认情况下,SpringSecurity会为每个的用户新建一个

,开发者也可以根据具体的需求对Session的创建进行。

有以下四种。

如果没有Session就创建一个。

如果需要就创建一个Session,是默认的创建策略。

SpringSecurity将不会创建Session,但是如果项目中其他地方创建了

Session,那么SpringSecurity可以使用它。

SpringSecurity将绝对不会创建Session,也不使用Session。

当项目中,但是想要项目,可

以选择使用never策略。

@Bean

publicSecurityFilterChainsecurityFilterChain(HttpSecurityhttp)throwsException{

http.sessionManagement()

.sessionCreationPolicy(SessionCreationPolicy.NEVER);

returnhttp.build();

}

SpringSecurity对用户信息,会将的上

下文对象如果项目中情况下Session的,如

果想要对Session默认的超时时间进行修改,可以在SpringBoot的

Session的超时时间。

ser

文档评论(0)

1亿VIP精品文档

相关文档