@Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(hrService); } //处理postman接口出现not response情况,访问login页时不需要security拦截 @Override public void configure(WebSecurity web) throws Exception { System.out.println("WebSecurity++++++"); web.ignoring().antMatchers("/login","/verifyCode","/common/**"); }
时间: 2024-04-27 12:23:55 浏览: 144
C#中Override关键字和New关键字的用法详解
5星 · 资源好评率100%
这是一个使用Spring Security的配置类,它完成了以下几个任务:
1. 配置PasswordEncoder:使用BCryptPasswordEncoder作为密码加密器。
2. 配置AuthenticationManagerBuilder:使用hrService作为用户认证的实现类。
3. 配置WebSecurity:忽略/login、/verifyCode和/common/**这些URL,访问它们时不需要进行安全认证。
具体解释如下:
- 配置PasswordEncoder:通过@Bean注解创建一个BCryptPasswordEncoder实例,并将其返回。这里使用BCrypt算法对密码进行加密,保证密码的安全性。
- 配置AuthenticationManagerBuilder:通过调用auth.userDetailsService(hrService)方法,将hrService设置为用户认证的实现类。hrService需要实现UserDetailsService接口,通过该接口的loadUserByUsername()方法,从数据库或其他数据源中获取用户信息。
- 配置WebSecurity:通过重写configure(WebSecurity web)方法,配置WebSecurity。在这里,我们忽略了/login、/verifyCode和/common/**这些URL,访问它们时不需要进行安全认证。这里的configure(WebSecurity web)方法是为了解决在使用Postman测试接口时出现not response的问题。
需要注意的是,这里只是一个简单的示例代码,实际的配置可能会更加复杂,需要根据具体的业务场景进行调整。
阅读全文