diff --git a/build.gradle b/build.gradle index 5f2abf5..cb03dec 100644 --- a/build.gradle +++ b/build.gradle @@ -22,6 +22,7 @@ repositories { dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' + implementation "org.springframework.boot:spring-boot-starter-security" implementation 'org.springframework.session:spring-session-core' compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.7' compile 'org.pcap4j:pcap4j-core:1.+' diff --git a/src/main/java/ru/serega6531/packmate/SecurityConfiguration.java b/src/main/java/ru/serega6531/packmate/SecurityConfiguration.java new file mode 100644 index 0000000..f94c8b7 --- /dev/null +++ b/src/main/java/ru/serega6531/packmate/SecurityConfiguration.java @@ -0,0 +1,44 @@ +package ru.serega6531.packmate; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +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; + +@Configuration +@EnableWebSecurity +public class SecurityConfiguration extends WebSecurityConfigurerAdapter { + + @Value("${account-login}") + private String login; + + @Value("${account-password}") + private String password; + + @Autowired + public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { + auth.inMemoryAuthentication() + .withUser(login).password(passwordEncoder().encode(password)) + .authorities("ROLE_USER"); + } + + @Override + protected void configure(HttpSecurity http) throws Exception { + http.authorizeRequests() + .anyRequest().authenticated() + .and() + .httpBasic(); + } + + @Bean + public PasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(); + } + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1562cc2..60afac1 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -12,4 +12,6 @@ spring: temp: use_jdbc_metadata_defaults: false interface-name: enp0s31f6 -local-ip: "192.168.0.125" \ No newline at end of file +local-ip: "192.168.0.125" +account-login: BinaryBears +account-password: 123456 \ No newline at end of file