1. JSP 페이지
home.jsp
<%@ taglib prefix="sec"
uri="http://www.springframework.org/security/tags"%>
<td><sec:authorize access="isAuthenticated()">
<sec:authentication property="principal.username" var="user_id" />
<div id="user_id">안녕하세요. ${user_id }</div>
</sec:authorize></td>
<input type="hidden" value="${user_id}">
2. SpringContextHolder
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String user_id = auth.getName();
3. Contoller
@RequestMapping("/")
public String test(Principal principal) {
String user_id = principal.getName();
}
4. User 클래스로 변환
User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
String user_id = user.getUsername();
출처: https://otrodevym.tistory.com/entry/Spring-Security에서-사용자-정보-가져오기 [미니 블로그 : 메모하는 습관]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //글 등록 (dao : 글 삽입 ) @RequestMapping("insert.do") public String insert(@ModelAttribute BoardDTO dto, HttpSession session) throws Exception { // 시큐리티컨텍스트홀더 객체에서 사용자아이디를 가져옴★ Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); UserDetails userDetails = (UserDetails)principal; String id = userDetails.getUsername(); dto.setId(id); //레코드 저장 boardService.create(dto); //게시물 목록으로 이동 return "redirect:/board/list.do"; } |
'Spring > study' 카테고리의 다른 글
Spring project01 - 3. 달력 구현 (0) | 2019.08.14 |
---|---|
Spring 프로젝트에 Mysql DB 연동하는 방법 (0) | 2019.07.23 |
spring 30강 Spring Security (0) | 2019.07.16 |
Spring Security CSRF (0) | 2019.07.15 |
spring 28강 Spring Boot와 MongboDB 연동 실습(방명록) (0) | 2019.07.12 |