티스토리 뷰

Spring

Spring Security - Project Setting

엔꾸꾸 2019. 9. 5. 22:06

Spring Security - Project Init

프로젝트 생성

  • 의존성
    • Spring Boot 2.1.7
    • lombok
    • thymeleaf
    • devtools

Index 페이지 만들기

  • 프로젝트를 생성하면 classpath:resources 디렉터리 하위에 templates 디렉터리가 존재한다.
    • 만약 없다면 생성해줄것
  • 해당 디렉터리 하위에 index.html 파일을 생성한다.

 

 

Template Engine으로 Thymeleaf 를 사용한다.


Thymeleaf 를 사용하기위해서는 namespace 선언을 필요로한다.

  • Thyleaf 사용을 위한 namespace 선언부
    • :th 에 해당하는 부분은 일종의 alias이다.
    • 원한다면 다른 alias를 지정할 수 있다.

 

namespace를 선언하고나면 thymeleaf 표현을 사용할 수 있다.

  • th:text
    • 텍스트를 출력하는 표현식이다.
    • ${} 표현식을 통해 Controller에서 전달받은 model객체를 참조하여 해당 메시지를 출력이 가능하다.
    • 만약 text에 해당하는 값이 없다면 html 태그 내부에 선언된 값이 Default Message로 출력이된다.
      • Thymeleaf의 장점 이다.
      • Controller를 통해 접근하지 않고 html 파일만 띄웠을경우에도 작업이 가능하다.
      • 프론트엔드와의 협업이 용이하다.

 

  • Controller 구현
    • / 로 요청을 보내면 index.html 로 View를 리턴해준다.
    • index.html에서는 message 값인 Hello Spring Security 를 출력 할 것이다.

 

그외 페이지들..
  • index.html 와 마찬가지로 다른 페이지들도 구현한다.

    • admin.html
    • dashboard.html
    • info.html
  • Controller는 인증정보를 활용한다.

    • /dashboard, /admin은 인증정보를 필요로하고, 해당 인증정보에서 사용자 이름과 함께 메시지를 조합하여 출력해준다.
    • /, /info는 인증정보를 필요로 하지않는다.
    • 하지만 / 인덱스 페이지는 만약 인증정보가 존재하면 해당 인증정보에서 사용자 이름과 함께 메시지를 조합하여 출력해준다.

 

현재는 인증정보가 존재하지 않기때문에 dashboard 와 admin으로 접근한다면 NullPointerException이 발생한다.

'Spring' 카테고리의 다른 글

Spring Security - Security Config  (0) 2019.09.07
Spring Security - Security 적용하기  (0) 2019.09.07
Spring Security - 소개  (0) 2019.09.05
Spring - REST DOCS  (0) 2019.08.15
Spring - HATEOAS  (0) 2019.08.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함