8.4.3 실습 스프링 시큐리티 태그로 로그인 페이지 구현하기
스프링 시큐리티 태그를 사용하여 로그인과 로그아웃 정보를 설정해 봅시다. 그리고 도서 등록 페이지의 접근 권한을 인증하는 로그인과 로그아웃 페이지를 구현합니다. 로그인 인증에 실패하면 오류 메시지가 출력되도록 해 보겠습니다.
1. 스프링 시큐리티 설정 파일 security-context.xml에 다음과 같이 작성합니다. 시큐리티 태그를 사용하여 <form-login> 태그로 로그인 관련 내용을 설정합니다.
코드 8-5 security-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans...>
...
<http use-expressions="true">
<intercept-url pattern="/books/add" access="hasRole('ROLE_ADMIN')"/>
<form-login login-page="/login" ➊
default-target-url="/books/add" ➋
authentication-failure-url="/loginfailed" ➌
username-parameter="username" ➍
password-parameter="password"/> ➎
<csrf/>
<logout/>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="Admin" password="{noop}Admin1234"
authorities="ROLE_ADMIN"/>
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
➊ 로그인 페이지의 경로입니다.
➋ 인증에 성공할 때의 경로입니다.
➌ 인증에 실패할 때의 경로입니다.
➍ 사용자 계정 이름입니다.
➎ 사용자 계정의 비밀번호입니다.