Spring/Spring Security
Spring Security : Web MVC + Security - Security JSP Tag Library 사용하기
Korean Eagle
2020. 5. 17. 15:51
728x90
1. 스프링 security는 사용자와 권한 정보에 접근할 수 있는 Tag lib를 제공한다.
1-1 이 tag lib로 principal 객체를 접근할 수 있고 다양한 정보를 참조할 수 있다.
1-2 사용하는 방법은
1-2-1 spring security taglibs를 dependency에 추가한다.
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${springsecurity.version}</version>
</dependency>
1-2-2 사용할 jsp페이지에 taglib include한다.
1-2-2-1 로그인 후에 접근했던 페이지가 열린 것이라고 가정한다.
1-2-3 페이지에서 필요한 곳에 <security:authentication property=""> 테그를 사용한다.
1-2-3-1 아래의 소스를 보면 username, authories라는 principal객체의 속성을 참조하여 user와 권한을 가져온다.
<!-- 추가한 security taglib -->
<%@ taglib prefix="security" uri="http://www.springframework.org/security/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
<title>Spring Security Custom Login Form</title>
</head>
<body>
<div class="container">
<h2>Company Website</h2>
<hr>
<p>You are now logged in</p>
<p>
User :: <security:authentication property="principal.username"/>
</p>
<p>
Roles(s) :: <security:authentication property="principal.authorities"/>
</p>
<form:form action="${ pageContext.request.contextPath }/logout" method="POST">
<input type="submit" class="btn btn-primary" value="Logout"/>
</form:form>
</div>
</body>
</html>
1-2-4 결과 페이지
728x90