μλ° κΈ°λ°μ μλ² μ¬μ΄λ ν
νλ¦Ώ μμ§
Thymeleaf (νμ리ν)
νμ리νλ μλ² μ¬μ΄λ Java ν
νλ¦Ώ μμ§μ
λλ€. HTML, XML, JavaScript, CSS λ±μ λ§ν¬μ
μΈμ΄λ₯Ό μ¬μ©νμ¬ λμ μΉ νμ΄μ§λ₯Ό μμ±νλ λ° μ¬μ©λ©λλ€. νμ리νλ κ°λ¨νκ³ μ§κ΄μ μΈ κ΅¬λ¬Έμ μ 곡νλ©°, Spring Frameworkμμ ν΅ν©μ΄ μ©μ΄ν©λλ€.
Spring Framework μμμ ν
νλ¦Ώ μμ§μΌλ‘ μ¬μ©νλ JSP λ° JSP λΌμ΄λΈλ¬λ¦¬ κΈ°λ₯λ€μ λͺ¨λ λ체ν μ μλ ν
νλ¦Ώ μμ§μ΄λ€.
ν νλ¦Ώ μμ§μ΄λ?
Thymeleaf
μ νΈλ¦¬ν° κ°μ²΄(Utility Objects)?
νμ리ν ν
νλ¦Ώμμ μ¬μ©ν μ μλ μ μ©ν κΈ°λ₯μ μ 곡ν΄μ£Όλ κ°μ²΄μ
λλ€.
ννμμμ # λ€μ μ€λ μ΄λ¦μΌλ‘ νΈμΆν©λλ€.
μ νΈλ¦¬ν° κ°μ²΄
νμ리ν λ μ΄μμ λ€μ΄μΌλ νΈ
β’
νμ리ν λ μ΄μμ λ€μ΄μΌλ νΈ μμ‘΄μ±
β¦
build.gradle
β’
νλκ·Έλ¨ΌνΈ
β’
λ μ΄μμ
νμ리ν λ μ΄μμ λ€μ΄μΌλ νΈ
νμ리ν μ€νλ§ μν리ν°
κ΅¬λΆ | ν€μλ/λ©μλ | μ€λͺ
|
sec:authorize | isAnonymous() | μΈμ¦λμ§ μμ μ¬μ©μ(λΉλ‘κ·ΈμΈ). |
isAuthenticated() | μΈμ¦λ μ¬μ©μ(λ‘κ·ΈμΈ). | |
hasRole('ROLE_X') | νΉμ μν μ κ°μ§ μ¬μ©μ. | |
hasAnyRole('ROLE_X', 'ROLE_Y') | μ¬λ¬ μν μ€ νλλΌλ κ°μ§ μ¬μ©μ. | |
permitAll() | λͺ¨λ μ¬μ©μ νμ©. | |
denyAll() | λͺ¨λ μ¬μ©μ κΈμ§. | |
sec:authentication | name | μΈμ¦λ μ¬μ©μμ μ΄λ¦(μμ΄λ). |
authorities | μΈμ¦λ μ¬μ©μμ κΆν λͺ©λ‘. | |
principal | μΈμ¦λ μ¬μ©μ κ°μ²΄
(UserDetails λλ CustomUser). | |
sec:csrf | ${_csrf.parameterName} | CSRF νλΌλ―Έν° μ΄λ¦. |
${_csrf.token} | CSRF ν ν° κ°. |
νμ리ν μ€νλ§ μν리ν°



