HTTP Basic 인증을 구현하려면 BasicProcessingFilter를 필터 체인에
정의할 필요가 있다. 애플리케이션 컨텍스트에 BasicProcessingFilter와
필요한 협력자들을 정의한다:
<bean id="basicProcessingFilter" class="org.acegisecurity.ui.basicauth.BasicProcessingFilter">
<property name="authenticationManager"><ref bean="authenticationManager"/></property>
<property name="authenticationEntryPoint"><ref bean="authenticationEntryPoint"/></property>
</bean>
<bean id="authenticationEntryPoint" class="org.acegisecurity.ui.basicauth.BasicProcessingFilterEntryPoint">
<property name="realmName"><value>Name Of Your Realm</value></property>
</bean>
설정된 AuthenticationManager는 각 인증 요청들을 처리한다.
인증이 실패하면 설정된 AuthenticationEntryPoint를 이용하여
인증 절차를 재시도할 것이다. 일반적으로 여러분은
BasicProcessingFilterEntryPoint를 사용할 것이며, 이것은
HTTP Basic 인증을 재시도하기 위해 적절한 헤더를 포함하고 있는 401 응답을 반환한다.
인증이 성공하면 반환되는 Authentication 객체가
SecurityContextHolder에 위치할 것이다.
인증 시도가 성공하거나 HTTP 헤더가 지원되는 인증 요청을 포함하고 있지 않아
인증이 시도되지 않을 경우 필터 체인은 보통의 경우처럼 계속 진행할 것이다.
필터 체인이 중단되는 유일한 순간은 인증이 실패하고
AuthenticationEntryPoint가 요청되는 경우이며,
이는 앞 문단에서 논의하였다.