Security jaas scrypt登录验证

Security jaas scrypt登录验证,security,authentication,servlets,jakarta-ee,jaas,Security,Authentication,Servlets,Jakarta Ee,Jaas,我正在尝试使用Scrypt使用jaas登录用户。我以前使用过sha,我可以使用以下方式登录: request.login(username, "password"); jaas会在后台检查。但是由于检查两个密码是否与scrypt匹配的方法是返回布尔值的检查,因此我不得不稍微更改代码。我认为我的代码是正确/安全的,但我更喜欢安全而不是抱歉: // here I get user credential from the db Usercredential uc = us.getUsercred(

我正在尝试使用Scrypt使用jaas登录用户。我以前使用过sha,我可以使用以下方式登录:

 request.login(username, "password");
jaas会在后台检查。但是由于检查两个密码是否与scrypt匹配的方法是返回布尔值的检查,因此我不得不稍微更改代码。我认为我的代码是正确/安全的,但我更喜欢安全而不是抱歉:

// here I get user credential from the db
Usercredential uc = us.getUsercred(username);
boolean matched = false;
if (null != uc) {
    // Making the scrypt check to see if password entered by user match db pass matched
    matched = SCryptUtil.check(password + uc.getSalt(), uc.getPassword());
}
if (matched) {
// if pass matched I login with the db password value
    try {
        request.login(username, uc.getPassword());
}...

我担心的是,我登录时使用的是DB值,而不是键入的值。我做了一个检查,看看他们是否匹配之前,虽然这样应该没有问题

此密码比较应在域内<代码>请求。登录(用户名、密码)应该是你在领域之外应该做的所有事情。@MarceloBarros我仍然需要向db请求密码,这让我很担心