如果你想要一个 OO 解决方案,我会选择使用 OO 语言并编写一些类;-)。
但说真的,在基本级别上,您将需要一个数据bean 来存储登录信息,我们称之为“登录”。然后我会选择提供身份验证的服务,我们称之为“AuthenticationService”。最后,您可以提供所需的每种不同类型的身份验证方案的具体实现。所以你会有类似的东西:
public class Login {
private String loginName;
private String password;
/* getters / setters */
}
public interface AuthenticationService {
public boolean isLoginValid(Login login);
}
public class LdapAuthenticationService implements AuthenticationService {
public boolean isLoginValid(Login login) {
/* LDAP specifics here */
}
}
public class DatabaseAuthenticationService implements AuthenticationService {
public boolean isLoginValid(Login login) {
/* database specifics here */
}
}
根据您当前的需求,使用依赖注入将所需的具体实现添加到您的系统中。