<security:http>
<security:custom-filter ref="myCustomFilter" position="CONCURRENT_SESSION_FILTER" />
</security:http>
<bean id="myCustomFilter" class="com.example.MyCustomFilter">
<constructor-arg ref="myRepository" />
<bean/>
position="CONCURRENT_SESSION_FILTER"는 스프링 시큐리티의 필터 체인에서 세션 관리를 위한 필터의 위치를 지정하는 속성이다.<constructor-arg> 는 스프링의 XML 설정 파일에서 빈을 정의할 때 생성자 인자를 전달하는데 사용된다.
public class MyCustomFilter {
private final MyRepository repository;
public MyCustomFilter(MyRepository repository) {
this.repository = repository;
}
// 기타 메서드
}
HTTP 요청과 응답을 가로채어 처리하는 데 사용된다.
void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
public class MyCustomFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// 요청 처리 전 로직
System.out.println("Before processing request");
// 다음 필터 또는 서블릿 호출
chain.doFilter(request, response);
// 응답 처리 후 로직
System.out.println("After processing request");
}
}
IS_AUTHENTICATED_ANONYMOUSLY: 익명 사용자(로그인하지 않은 사용자)가 접근할 수 있도록 허용한다.