【发布时间】:2020-08-16 19:16:17
【问题描述】:
我有一个这样的自定义处理程序:
Public class DatabaseAuthenticationHandler extends AbstractJdbcUsernamePasswordAuthenticationHandler {
@Override
protected AuthenticationHandlerExecutionResult authenticateUsernamePasswordInternal(
UsernamePasswordCredential credential, String originalPassword) throws GeneralSecurityException, PreventedException {
final String username = credential.getUsername();
logger.debug("***Username:"+username);
logger.debug("***Password:"+credential.getPassword());
return createHandlerResult(credential, new SimplePrincipal(), null);
}
@Override
public boolean supports(final Credential credential) {
return true;
}
}
对我来说,无论如何,这应该始终让用户登录。但我在日志中看到:
ERROR [org.apereo.cas.authentication.PolicyBasedAuthenticationManager]
- <Authentication has failed. Credentials may be incorrect or CAS cannot find authentication handler that supports
[UsernamePasswordCredential(username=sadf, source=MyJDBCAuthenticationManager)] of type [UsernamePasswordCredential].
Examine the configuration to ensure a method of authentication is defined and analyze CAS logs at DEBUG level to trace the authentication event.
这对我来说毫无意义,因为我在日志中看到 cas 正在调用authenticatUsernamePasswordInternal 方法。显然,这个处理程序支持一切。
为什么我无法登录?
【问题讨论】:
标签: cas