0

我正在将 Weblogic 自定义身份验证提供程序从版本 8.1.5 迁移到 9.2.3

在登录 serverlet 我有以下代码

ServletAuthentication sa = new ServletAuthentication(LOGIN_USERNAME_LABEL, LOGIN_PASSWORD_LABEL);
int authenticated = sa.weak(request, response);

上面的代码总是返回

ServletAuthentication.FAILED_AUTHENTICATION 

代替

ServletAuthentication.AUTHENTICATED

我通过实现模块调试,从表单传递的所有值和从表单数据库返回的值都是正确的,但是weak()的结果不正确。

以前有人解决过类似的问题吗?任何帮助将不胜感激。

4

1 回答 1

2

正如评论。我将其发布为我自己问题的答案,因为它解决了我的问题。

问题解决了。当我部署自定义身份验证提供程序并将控制标志设置为“SUFFICIENT”时,默认 Weblogic 身份验证提供程序的控制标志设置为“需要”(默认情况下)。这会在验证用户登录时给出错误并返回失败值。自定义身份验证提供程序通过,但默认 Weblogic 身份验证提供程序未通过。通过将两者的控制标志设置为“足够”来修复它!

于 2009-11-10T02:55:33.093 回答