2010-12-15 2 views
2

저는 스프링 보안 (2.0.6)을 사용하여 HTTP 기본 인증을 수행하고 있습니다. 내 데이터베이스에 대해 사용자 이름과 암호의 유효성을 검사하는 데 사용하는 사용자 지정 인증 공급자 클래스를 작성했습니다. 내가 가지고있는 문제는 일부 사용자에게는 암호가 없다는 것입니다. 이러한 사용자는 "액세스 거부"메시지를받습니다. 코드를 디버깅하고 사용자의 암호가 비어있을 때 내 사용자 지정 인증 공급자가 호출되지 않는 것을 발견했습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까? 일부 사용자는 빈 암호를 허용해야합니다.봄 보안을 사용하여 빈 암호로 기본 인증을 수행하는 방법은 무엇입니까?

+0

누군가 암호를 잊어 버린 경우 보안을 무효로 처리하십시오. – Woot4Moo

+0

나는 impelement해야 비즈니스 요구 사항입니다. 그렇습니다. 제정신이 아닐 수도 있지만 암호 없이도 로그인 할 수있는 일부 계정이 필요한 비즈니스 사례가 있습니다. –

+1

비밀번호가 비어있는 요청을 어떻게 제출합니까? curl -u 사용자 : url? – gigadot

답변

2

AuthenticationProvider가 "NOPASSWORD"와 같은 기본값으로 설정되기 전에 비밀번호를 설정하지 않았습니까? 나는 pre-auth 필터 중 하나가 간단한 'if (password == null)'을 수행하고 실패하고 이것이 문제라고 생각한다.

관련 문제