2013-03-15 1 views
0

사용자 정의 인증 프로세스를 수행하기 위해 AbstractUserStoreManager 클래스를 확장하고 doAuthenticate() 메서드에 대한 코드를 재정 의하여 왔습니다. doAuthenticate 메서드는 내 자격 증명을 사용하여 로그인 할 때 올바르게 true를 반환합니다.wso2 identity server - AbstractUserStoreManager 클래스 및 doAuthenticate() 메서드 확장

그러나 wso2 ID 서버 사용자 관리 콘솔은 여전히 ​​로그인 실패 메시지를 표시합니다. (즉, CarbonAuthenticationUtil.onFailedAdminLogin 메소드가 호출되고 있음).

이 사용자가 관리 역할임을 표시하는 데 문제가있을 수 있습니다.

그러나 각 방법에 로깅을 넣어 발사를 확인합니다. 그러나 doAuthenticate() 메서드가 실행 된 후 역할을 확인하는 메서드가 표시되지 않습니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까? 여기

로그는 DEBUG의 상세에서 실행 :


[2013-03-15 15:17:55,669] DEBUG - getRequestAddressingRequirementParameterValue: got value from MessageContext [MessageContext: logID=cd1ae48ec92e8ccb25cd294c255c695acb01113f991655f8], value: 'null' {org.apache.axis2.addressing.AddressingHelper} 
[2013-03-15 15:17:55,669] DEBUG - getRequestAddressingRequirementParameterValue: value: 'null' {org.apache.axis2.addressing.AddressingHelper} 
[2013-03-15 15:17:55,669] DEBUG - getRequestAddressingRequirementParameterValue: value: 'null' {org.apache.axis2.addressing.AddressingHelper} 
[2013-03-15 15:17:55,670] DEBUG - [MessageContext: logID=dd1ae48ec92e8ccb25cd294c255c695acb01113f991655f8] isReplyRedirected: ReplyTo is null. Returning false {org.apache.axis2.addressing.AddressingHelper} 
[2013-03-15 15:17:55,670] DEBUG - [MessageContext: logID=dd1ae48ec92e8ccb25cd294c255c695acb01113f991655f8] isReplyRedirected: ReplyTo is null. Returning false {org.apache.axis2.addressing.AddressingHelper} 
[2013-03-15 15:17:55,670] INFO - isAuthenticated?: true {com.dg.rio.proxy.user.store.DGProxyReadOnlyUserStoreManager} 
[2013-03-15 15:17:55,670] DEBUG - Post authenticator is called in IdentityMgtEventListener {org.wso2.carbon.identity.mgt.IdentityMgtEventListener} 
[2013-03-15 15:17:55,670] DEBUG - Post authenticator is called in IdentityMgtEventListener {org.wso2.carbon.identity.mgt.IdentityMgtEventListener} 
[2013-03-15 15:17:55,671] DEBUG - AUTHORIZATION_CACHE Memory cache hit, but element expired {net.sf.ehcache.Cache} 
[2013-03-15 15:17:55,672] ERROR - System error while Authenticating/Authorizing User : null {org.wso2.carbon.core.services.authentication.AuthenticationAdmin} 
java.lang.NullPointerException 
    at org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager.isUserAuthorized(JDBCAuthorizationManager.java:134) 
    at org.wso2.carbon.core.services.authentication.AuthenticationAdmin.login(AuthenticationAdmin.java:107) 

답변

1

문서를 4.10 단지 (지난 주 나는 생각한다) 나왔다 때문이다. 외부 ldap 및 jdbc 저장소 구성에 대한 절을 읽었을 때 realm 구성 (user-mgt.xml)의 관리자에 대한 사용자 이름을 사용한다고했습니다. arbitratory (백도어) 암호로이 사용자 이름을 추가

   <AdminUser> 
       <UserName>MYADMINUSER</UserName> 

은 관리 사용자가 올바른 암호로 인증 할 수 없습니다. 즉

doAuthenticate가 true를 반환하면 인증됩니다. 거짓이면 예상대로 거부됩니다.

조금 껄끄 럽지 만보기에 기쁘다.

관련 문제