Annotation Interface Screen


@Target({TYPE,METHOD}) @Retention(RUNTIME) @Documented public @interface Screen
컨트롤러(또는 핸들러 메서드)가 어느 "화면"에 속하는지 선언한다. value 는 Screen Attribute(AttributeEnum.Screen, id 601) 의 Option 이름이다 (예: "Welcome", "AdminUsers"). 화면 이름 규칙은 Thymeleaf view name 의 PascalCase 다 (admin-users -> AdminUsers). ScreenAccessInterceptor 가 컨트롤러 진입 전에 이 값을 읽어, 그 화면 Artifact 에 등록된 Permission 을 현재 사용자의 ACL 로 검사한다. 화면을 그리는 GET 뿐 아니라 그 화면에서 보내는 POST(추가/삭제/수정)에도 같은 화면 이름을 붙여서, 화면에 못 들어오는 사용자가 URL 을 직접 호출해 동작만 실행하는 일을 막는다. 메서드에 붙인 값이 클래스에 붙인 값보다 우선한다. 둘 다 없으면 검사 대상이 아니다 (예: /logout, Spring Boot 의 /error).
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
     
  • Element Details

    • value

      String value
      Returns:
      Screen Attribute 의 Option 이름