스프링 시큐리티는 인증과 접근제어를 위한 맞춤구성이 가능한 강력한 프레임워크이다.
스프링프레임워크를 사용하고 있다면, 스프링시큐리티를 이용하여 손쉽게 애플리케이션 레벨의 보안을 적용 할 수 있다.
스프링시큐리티에 대한 세부 내용은 아래의 스프링시큐리티 공식URL에서 확인이 가능하다.
https://spring.io/projects/spring-security#overview
Spring Security
Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Security is found in how easily it can be extended to meet custom requirements
spring.io
소스를 통해 간단히 스프링시큐리티에 대해 정리해 보겠다.
스프링부트 프로젝트를 이용하여 살펴볼 건데, 아래의 공식 URL이나, 사용중인 IDE에서 스프링부트 프로젝트를 생성하여 진행하면 된다
이번 피드에서는 기본적인 스프링시큐리티에 관해 정리해볼거기 때문에, Dependencies에 Spring Security만 추가해주고 프로젝트를 생성해 보겠다.
생성된 프로젝트를 열어 pom.xml을 확인해보면 추가한 spring security 관련 라이브러리 정보가 추가되어 있는것을 확인 할 수있다.
추가로 pom.xml파일에 spring-boot-starter-web 라이브러리 정보를 추가해 주어야 정상적으로 스프링을 이용한 웹개발이 가능하다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.0.0</version>
</dependency>
간단히 컨트롤러만 한개 추가하여 스프링시큐리티가 적용된 모습을 확인해 보겠다.
@RestController
public class MainController {
@GetMapping("/main")
public String hello() {
return "Hello!";
}
}
위의 위치에 간단히 테스트용으로 간단히 MainController를 생성했다.
이제, 스프링부트를 실행해보면 로그가 올라오는데, 기본 패스워드 정보를 확인 할 수 있다.(기본 ID는 user이다)
브라우저에서 컨트롤러를 호출해보면 로그인 화면을 확인할 수 있다.
여기에 Usename : user, Password : 스프링부트 실행시 확인되는 패스워드 계정정보를 입력해주면 정상적으로 컨트롤러가 호출되는 것을 확인할 수 있다.
위와 같이 스프링 시큐리티 라이브러리 추가만으로도 기본으로 인증페이지와 기본 로그인계정을 세팅해준다.
이번피드는 여기에서 마무리하고, 다음피드에 추가로 내용을 정리해보도록 하겠습니다.