728x90
security-context.xml에 bean객체 생성
<!-- xmlns:security는 스프링 시큐리티가 제공하는 XML 네임스페이스를 활성화 -->
<!-- 인가(authorization) 불허
bean : 객체 / class="우리가 만든 클래스" / id : 우리가 만든 클래스를 인스턴스화 하여 만든 객체명
-->
<bean id="customAccessDenied"
class="kr.or.ddit.cecurity.CustomAccessDeniedHandler">
</bean>
그리고 밑에 이것도 작성
<!-- 1. 접근 거부 처리(사용자 정의)
접근 거부가 발생한 상황에 단순 메시지 처리 이상의 다양한 처리를 하고 싶다면
AccessDeniedHandler를 직접 구현햐야 함
-->
<security:access-denied-handler ref="customAccessDenied"/>
<!--
패키지 및 클래스 생성
package kr.or.ddit.cecurity;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.web.access.AccessDeniedHandler;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CustomAccessDeniedHandler implements
AccessDeniedHandler{
/*
공지사항 등록 화면(/notice/register)은
일반회원(member/java)이 접근할 수 없는 URI이고
관리자(admin/java)만 접근 가능함.
사용자 접근 거부 처리자(CustomAccessDenieHandler)에서
접근 거부 처리 페이지 (/security/accessError)로 리다리렉트 시킴
*/
@Override
public void handle(HttpServletRequest request
, HttpServletResponse response,
AccessDeniedException accessDeniedException) throws IOException, ServletException {
log.info("handle");
response.sendRedirect("/security/accessError");
}
}
'Spring > Spring 기초' 카테고리의 다른 글
Security 폼 기반 인증 기능 사용(로그아웃 처리) (0) | 2023.08.17 |
---|---|
Security 폼 기반 인증 기능 사용(로그인 처리) (0) | 2023.08.17 |
Security 접근거부 처리(시큐리티 제공) (0) | 2023.08.17 |
Spring 시큐리티 연습해보기 (0) | 2023.08.11 |
Spring 시큐리티 환경설정 (0) | 2023.08.11 |