chat04项目代码解析

1.

@Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth .userDetailsService(userDetailsServiceImpl) // 配置 AuthenticationManager 使用 userService .passwordEncoder(passwordEncoder()) // 配置 AuthenticationManager 使用 userService .userDetailsPasswordManager(userDetailsPasswordServiceImpl); // 配置密码自动升级服务 } 这段代码是啥意思

 2.

UserDetailsService 类是干嘛用的

 3.

springsecurity的UserDetailsPasswordService 类是干嘛用的

 4.

Optional.ofNullable 怎么使用

 

 5.

public static String getCurrentLogin() { return Optional.ofNullable(SecurityContextHolder.getContext().getAuthentication()) .map(Authentication::getPrincipal) .map(principal -> { // 大多数 AuthenticationManager 会返回 UserDetails ,提供更多信息 if (principal instanceof UserDetails) { val userDetails = (UserDetails) principal; return userDetails.getUsername(); } // 如果没有更多信息,可以看一下是否是一个 Principal if (principal instanceof Principal) { return ((Principal) principal).getName(); } // 其他情况看作是一个用户名 return String.valueOf(principal); }) // 如果未认证,那么 Authentication 为 Null // 可以在未受安全保护的 URL 中实验 // 此次返回匿名用户 .orElse(ANONYMOUS_USER); } 这段代码啥意思

 6.

Optional.ofNullable 怎么使用

 

 8.

@RequiredArgsConstructor public class ClientErrorLoggingConfigurer extends AbstractHttpConfigurer<ClientErrorLoggingConfigurer, HttpSecurity> { private final List<HttpStatus> errorCodes; @Override public void init(HttpSecurity http) throws Exception { // initialization code } @Override public void configure(HttpSecurity http) throws Exception { // 配置 Filter,让它的位置在 FilterSecurityInterceptor 之后 http.addFilterAfter(new ClientErrorLoggingFilter(errorCodes), FilterSecurityInterceptor.class); } } 这段代码啥意思

 9.

GenericFilterBean 类 有啥用

 10.

UsernamePasswordAuthenticationFilter 过滤器的执行顺序在FilterSecurityInterceptor 前面还是后面

 11.

SpringSecurity过滤器链

https://blog.csdn.net/qq_53318060/article/details/126835852?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-126835852-blog-121381839.235^v35^pc_relevant_increate_t0_download_v2&spm=1001.2101.3001.4242.4&utm_relevant_index=6

 

12.

史上最简单的Spring Security教程(十六):FilterSecurityInterceptor详解

https://blog.csdn.net/liuminglei1987/article/details/107662200

 

posted @ 2023-05-14 14:20  秋名山滴  阅读(93)  评论(0编辑  收藏  举报