2013-07-30 3 views
0

Cas 오버레이 방식을 사용하고 있습니다. 때때로/cas/services/manage에 들어가는 데 문제가 있습니다.인증 실패/서비스/관리

" 액세스가 거부 UsernameNotFoundException :: AAA"때때로 실제로 날 수 있습니다

. 나는 "AAA"사용자 선언 된 deployerConfigContext.xml에서.

<sec:user-service id="userDetailsService"> 
    <sec:user name="aaa" password="aaa" authorities="ROLE_ADMIN" /> 
</sec:user-service> 

이러한 일관성없는 동작의 원인은 무엇일까요? 그 인증을 보여주는 로그에서

발췌

2013-07-31 11:53:05,332 INFO [org.jasig.cas.authentication.AuthenticationManagerImpl] - <org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler successfully authenticated [username: aaa]> 
2013-07-31 11:53:05,333 INFO [org.jasig.cas.authentication.AuthenticationManagerImpl] - <Resolved principal aaa> 
2013-07-31 11:53:05,333 INFO [org.jasig.cas.authentication.AuthenticationManagerImpl] - <org.jasig.cas.authentication.[email protected]4b4bc1e authenticated aaa with credential [username: aaa].> 

답변

0

확인이 사용자 aaa 같은 소리가 인증 핸들러에서 사용할 수 없습니다 갔다. 사용자가 제공 한 XML 코드는 해당 사용자가 해당 서비스를 사용하는 것을 허용하기 만하면 해당 사용자가 CAS에 대한 인증을 허용하지 않습니다.

인증 처리시 인증 핸들러 (데이터베이스/LDAP/메모리 이름 중 일부)를 사용할 수 없다는 불일치가있을 수 있습니다.

+0

재미있는 생각. 그런 다음 다른 질문을 강요합니다. 인증 처리기 [내 케이스의 경우, org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler]를 다른 보호 된 페이지에서 사용할 수있는 이유는 무엇입니까? –

+0

로그를 제대로 읽고 있다면 https://gist.github.com/Alua-Kinzhebayeva/9f27aa1bc84126577e56 다음 org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler가 인증을 처리합니다. –

+0

흠, 사용자 'qq'가 'qq'의 암호로 인증되지 않는 이유를 이해할 수 없습니다. SimpleTestUsernamePasswordAuthentic ationHandler를 보면 인증하지 않는 유일한 방법은 사용자 이름과 암호가 일치하지 않는다는 것입니다. '경우 (StringUtils.hasText (사용자 이름) && StringUtils.hasText (비밀번호) && username.equals (getPasswordEncoder(). (암호)) 인코딩) { 로그 .debug이 ("사용자 ["+ 을 username을 + " ]이 (가) 성공적으로 인증되었습니다. "); return true; }' – wickdawg