Notice
Recent Posts
Recent Comments
Link
«   2024/06   »
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
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

SampleController.java 본문

SPRING/chapter04_MVC

SampleController.java

GAWON 2023. 7. 18. 09:14
package org.joonzis.controller;

import org.springframework.security.access.annotation.Secured;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import lombok.extern.log4j.Log4j;

@Log4j
@Controller
@RequestMapping("/sample/*")
public class SampleController {
	
	@GetMapping("/all")
	public String doAll() {
		log.info("do all can access everybody");
		return "/sample/all";
	}
	@GetMapping("/member")
	public String doMember() {
		log.info("logined member");
		return "/sample/member";
	}
	@GetMapping("/admin")
	public String doAdmin() {
		log.info("admon only");
		return "/sample/admin";
	}
	
	/*
	 * @PreAuthorize(표현식) 및 @Secured(배열)를 이용하여 권한 체크
	 * 
	 * 컨트롤러에서 사용하느 시큐리티의 어노테이션을 활성화 하기위해
	 * security-context.xml이 아니 servlet-context.xml에 관련 설정을 추가해야 함
	 * 
	 */
	
	@PreAuthorize("hasAnyRole('ROLE_ADMIN', 'ROLE_MEMBER')")
	@GetMapping("/annoMember")
	public void doMember2() {
		log.info("로그인 어노테이션 멤버");
	}
	
	@Secured({"ROLE_ADMIN"})
	@GetMapping("/annoAdmin")
	public void doAdmin2() {
		log.info("어드민 어노테이션");
	}
	
	
	
	
}

'SPRING > chapter04_MVC' 카테고리의 다른 글

AuthVO.java  (0) 2023.07.18
UploadController.java  (0) 2023.07.18
ReplyController.java  (0) 2023.07.18
HomeController.java  (0) 2023.07.18
CommonController.java  (0) 2023.07.14