下面的代码是Tomcat自定义领域身份验证代码,如果用户输入密码作为“ test”,它将成功登录
我该如何修改该程序,以便如果我有5个用户,并且每个用户使用存储在数组中的不同密码
并告诉我这个领域的执行方式 哪个函数先执行,谁调用这些函数
import java.security.Principal;
import java.util.ArrayList;
import java.util.List;
import org.apache.catalina.realm.RealmBase;
import org.apache.catalina.realm.GenericPrincipal;
public class NewRealm extends RealmBase
{
private String username;
private String password;
@Override
public Principal authenticate(String username, String credentials)
{
this.username = username;
this.password = credentials;
if (this.username.equals(this.password))
{
return getPrincipal(username);
}
else
{
return null;
}
}
@Override
protected String getName() {
return username;
}
@Override
protected String getPassword(String username) {
return "test";
}
@Override
protected Principal getPrincipal(String string) {
List<String> roles = new ArrayList<String>();
roles.add("user");
Principal principal = new GenericPrincipal(username,"test",roles);
return principal;
}
}