LoginSignup
1
0

More than 1 year has passed since last update.

Spring Boot で実装した Web アプリケーションに最小限の手順で Spring Security を導入する

Posted at

前提

  • Spring Boot で Web アプリケーションを実装している
    • Spring MVC などによる
  • Spring Boot のバージョンは 2.7.x

手順

  1. ビルドスクリプトに Spring Security を追加
    build.gradle
    	implementation 'org.springframework.boot:spring-boot-starter-security'
    
  2. 以下のクラスを新規作成
    package com.example.demo.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
    import org.springframework.security.core.userdetails.User;
    import org.springframework.security.core.userdetails.UserDetails;
    import org.springframework.security.core.userdetails.UserDetailsService;
    import org.springframework.security.provisioning.InMemoryUserDetailsManager;
    
    @EnableWebSecurity
    public class SecurityConfig {
    
    	@Bean
    	UserDetailsService userDetailsService() {
    		User.UserBuilder userBuilder = User.withDefaultPasswordEncoder();
    		UserDetails user1 = userBuilder.username("user1")
    				.password("password1")
    				.roles("USERS")
    				.build();
    		UserDetails user2 = userBuilder.username("user2")
    				.password("password2")
    				.roles("USERS")
    				.build();
    		return new InMemoryUserDetailsManager(user1, user2);
    	}
    }
    
  3. アプリケーションを起動する
  4. 適当なページにアクセスする
  5. ログインページが表示される
    image.png
    1. で定義したユーザIDとパスワードでログインできる
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0