0

我们有一个在 JBoss EAP 5.1 上运行的 Web 应用程序,并通过 ISAPI 重定向使用 IIS。在 IIS 中,虚拟应用程序配置为使用使用 HTTP 401 质询(提供程序 = NTLM)的 Windows 身份验证。并且,在 JBoss 中,AJP 下的 Tomcat 身份验证设置为 false。用户由 Windows 进行身份验证(存在于域上),并检查用户是否在应用程序的数据库中注册。为此,我们从 facesFacade.getExternalContext().getUserPrincipal().getName() 中读取用户名。

现在,我尝试将它迁移到 JBoss EAP 7.1。我已经配置了 IIS,请求到达了 JBoss。Windows 提示我输入用户名和密码。当我这样做时,登录的用户名似乎没有到达 JBoss。像 getUserPrincipal() 这样的方法总是返回 null。我知道我必须做一些更多的配置,比如安全域/领域并指定登录模块,以便 JBoss 正确填充 facesFacade.getExternalContext().getUserPrincipal().getName() 的值。

有人可以指导我如何做到这一点吗?我尝试了以下方法,但没有任何运气。

(1) 在 web.xml 的 login-config 下添加 security-realm as other

(2) 在standalone-full.xml 中添加了值为“false”的系统属性“org.apache.coyote.ajp.DEFAULT_TOMCAT_AUTHENTICATION”

我需要实现的只是获取由 Windows 验证的登录用户名。

4

1 回答 1

0

通过使用此处的信息解决了它

于 2019-06-26T08:51:53.310 回答