RuoYi-Cloud/ruoyi-auth/src/main/java/com/ruoyi/auth/config/WebSecurityConfig.java

59 lines
2.1 KiB
Java
Raw Normal View History

2020-05-24 20:40:55 +08:00
package com.ruoyi.auth.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.security.authentication.AuthenticationManager;
2020-06-16 14:36:43 +08:00
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
2020-05-24 20:40:55 +08:00
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
/**
* Security 安全认证相关配置
* Oauth2依赖于Security 默认情况下WebSecurityConfig执行比ResourceServerConfig优先
2020-06-15 14:38:27 +08:00
* PasswordEncoder AuthenticationManager AuthServerConfig 中有用到
2020-05-24 20:40:55 +08:00
* @author ruoyi
*/
@Order(99)
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
{
2020-06-15 14:38:27 +08:00
// @Autowired
// private UserDetailsService userDetailsService;
2020-05-24 20:40:55 +08:00
2020-06-15 14:38:27 +08:00
// Spring的@Bean注解用于告诉方法产生一个Bean对象然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次随后这个Spring将会将这个Bean对象放在自己的IOC容器中。
2020-05-24 20:40:55 +08:00
@Bean
public PasswordEncoder passwordEncoder()
{
return new BCryptPasswordEncoder();
}
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception
{
return super.authenticationManagerBean();
}
2020-06-15 14:38:27 +08:00
// @Override
// protected void configure(AuthenticationManagerBuilder auth) throws Exception
// {
// auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
// }
2020-05-24 20:40:55 +08:00
2020-06-16 14:36:43 +08:00
@Override
protected void configure(HttpSecurity http) throws Exception
{
http
.authorizeRequests()
.antMatchers(
"/actuator/**",
"/v2/**",
"/oauth/*",
"/token/**").permitAll()
.anyRequest().authenticated()
.and().csrf().disable();
}
2020-05-24 20:40:55 +08:00
}