Spring boot統合Spring Security(インターフェース安全)
Spring Securityは、Springベースの企業アプリケーションシステムに声明式のセキュリティアクセス制御ソリューションを提供することができるセキュリティフレームワークである.
依存:
依存:
org.springframework.boot
spring-boot-starter-security
org.springframework.security
spring-security-config
4.2.7.RELEASE
Spring Security設定ファイル:import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
/**
* SecurityConfig
*
*/
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
/**
*
*
* @param auth
* @throws Exception
*/
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
//
PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String pass = passwordEncoder.encode("111");
//
auth.inMemoryAuthentication()
//
.passwordEncoder(passwordEncoder)
//
.withUser("swagger")
//
.password(pass)
//
.roles("SWAGGER");
}
/**
* HTTP
*
* @param http
* @throws Exception
*/
protected void configure(HttpSecurity http) throws Exception {
//
http.authorizeRequests()
// ,
.antMatchers("/swagger-ui.html","/v2/api-docs").hasRole("SWAGGER")
.and()
.formLogin().permitAll();
}
}