Spring Security lgoin은 항상 인증 실패 URL로 리디렉션합니다.

사용자 1889849

나는 프로그래밍에 익숙하지 않으므로 여기서 조금 도와주세요.

Spring Security데이터베이스에서 사용자 세부 정보를 가져 오도록 구성 했으며 다음 계정으로 로그인하려고 할 때 :

  • user1-암호 1
  • 관리자-password1

항상 home.jsp/OPS=999내 로그인 페이지로 리디렉션되므로 인증이 실패 합니다. 사용자 레코드가 데이터베이스에 있지만 로그인 할 수 없습니다.

이것은 내 보안 구성 xml 파일입니다.

 <http auto-config="true">
     <form-login login-page='/home.jsp?OPS=9999' default-target-url='/secure/user.jsp' always-use-default-target='true' />
     <logout logout-success-url="/home.jsp" logout-url="/j_spring_security_logout" />
 </http>

<authentication-provider>
    <jdbc-user-service data-source-ref="Application.DataSource2" users-by-username-query="select USERNAME, PASSWORD from USER where lower(USERNAME) = lower(?)"/>
</authentication-provider>

로그인이 작동하지 않기 때문에 지금은 인증 / 권한없이하고 있습니다. 인증 실패의 가능한 원인은 무엇입니까? 데이터베이스 연결이 역할을 할 수 있습니까? 제발 도와주세요.

미리 감사드립니다!

사용자 1889849

applicationContext-security xml 파일의 users-by-username-query에 활성화 된 열이 없다는 것을 깨달았습니다. 기본적으로 스프링 보안은 명령문에서 3 개의 열을 예상하고 활성화 된 열이 누락되었습니다.

따라서 올바른 SQL 문은 다음과 같아야합니다. "select USERNAME, PASSWORD, STATUS from USER where lower (USERNAME) = lower (?)"

상태 열은 부울 유형입니다. (1 = 활성화, 0 = 비활성화)

누군가가 도움이되기를 바랍니다. :)

모든 도움에 감사드립니다!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관