username-parameter/password-parameter를 DB 컬럼명에 맞게 설정
(form name, VO의 필드, username/password parameter를 모두 DB 컬럼명과 일치시켜야 한다)
login-processing-url을 /login으로 설정
login-page를 로그인 폼이 있는 jsp 파일과 연결된 컨트롤러 value로 설정
default-target-url 로그인 성공 시 매핑할 컨트롤러 value
authentication-failure-url 로그인 실패 시 매핑할 컨트롤러 value
3.사용자가 로그인 폼에 입력한 아이디와 비밀번호(역시 인코더로 암호화)를 가지고 스프링 시큐리티에서 자체 검증
1)context-security.xml에서 authentication-provider 설정 및 인코더 bean 생성
<!--비밀번호 검증할 암호화 인코더 bean 생성-->
<beans:bean id="bcryptPasswordEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="SELECT m_id AS m_id, m_pw AS m_pw, enabled FROM member WHERE m_id = ?"
authorities-by-username-query="SELECT m_id AS m_id, levels AS levels FROM member WHERE m_id = ?" />
<!-- 스프링 시큐리티에서 검증시 사용할 비밀번호 암호화 인코더
스프링 시큐리티에서는 디비, 클라이언트 입력 비밀번호 모두 암호화를 꼭 거쳐야 검증이 가능함! -->
<password-encoder ref="bcryptPasswordEncoder" />
</authentication-provider>
이때 검증에 사용할 인코더와 회원가입 시 사용한 인코더가 반드시 일치해야 오류가 나지 않는다.
예를 들어 가입 시에는 BCrypt로 암호화된 비밀번호인데, 로그인 검증 인코더는 BCrypt가 아니라면 오류가 난다.