我正在努力将Weblogic自定义身份验证提供程序从8.1.5迁移到9.2.3
在登录服务器中,我有以下代码
ServletAuthentication sa = new ServletAuthentication(LOGIN_USERNAME_LABEL, LOGIN_PASSWORD_LABEL);
int authenticated = sa.weak(request, response);
以上代码始终返回
ServletAuthentication.FAILED_AUTHENTICATION
而不是
ServletAuthentication.AUTHENTICATED
我通过实现模块调试,从表单返回的所有值和从数据库返回的值都是正确的,但是weak()的结果不正确。
之前有人解决了类似问题吗?任何帮助将不胜感激。
答案 0 :(得分:2)
评论道。我发布这个作为我自己问题的答案,因为它解决了我的问题。
问题解决了。当我部署自定义身份验证提供程序并将控制标志设置为“SUFFICIENT”时,默认Weblogic身份验证提供程序的控制标志设置为“必需”(默认情况下)。在验证用户登录时,这会给出错误并返回失败的值。已通过自定义身份验证提供程序,但默认Weblogic身份验证提供程通过将两者的控制标志设置为“SUFFICIENT”来修复它!