【问题标题】:Jespa NTLM authentication fails in one environmentJespa NTLM 身份验证在一个环境中失败
【发布时间】:2011-03-16 19:00:29
【问题描述】:

我有一些 Java 代码需要针对运行 NTLM 身份验证的 Sharepoint 服务器进行身份验证。我在我的 IDE 的命令行中运行了这段代码,但是当我在 Liferay 中将它作为一个 portlet 部署时,它只是因为 401 Unauthorized 而失败。

除了调用方式不同外,代码完全相同。一个是在 doView() portlet 方法期间(portlet 渲染阶段),另一个(有效)来自公共静态 void main 方法。

我将 Jespa 日志设置为级别 4 以查看输出。在 NetBeans IDE 中:

HttpPeer: state=ST_SENT
HttpPeer: state=ST_RECEIVED status=401
NtlmSecurityProvider: null
HttpPeer: state=ST_SENT
HttpPeer: state=ST_RECEIVED status=401
NtlmSecurityProvider: NTLM2 Session Security key negotiated successfully
NtlmSecurityProvider: Initiator negotiated NTLMv2
HttpPeer: state=ST_SENT
HttpPeer: state=ST_RECEIVED status=200

在 Liferay 日志中:

HttpPeer: state=ST_SENT
HttpPeer: state=ST_RECEIVED status=401
NtlmSecurityProvider: null
HttpPeer: state=ST_SENT
HttpPeer: state=ST_RECEIVED status=401
18:37:58,578 ERROR [SharepointListPortlet:76] 
java.security.PrivilegedActionException: our.portlet.util.HttpException: 401 Unauthorized
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at jespa.security.RunAs.runAs(RunAs.java:261)
    at jespa.security.RunAs.runAs(RunAs.java:269)

这可能很简单,但我无法确定。我查看了所有 Jespa 示例代码,但一无所获。当然 Jespa 是一个商业产品,我只是在评估它,所以我无法支付支持费用。如果有人有任何建议,我将不胜感激。

【问题讨论】:

  • 您为 Liferay 使用的应用服务器是什么?它似乎在启动时指定了一个安全策略文件。
  • 它是 Tomcat - 只是标准的 Liferay 捆绑包。这是命令:
  • 我认为方向错误。检查PrivilegedActionException 的API,它说它是另一个异常的包装器,所以你需要捕获它并将getException() 添加到日志中以找到根本原因。
  • 谢谢,但不是这样。包装的异常是上面的 HttpException。该问题与 NTLM 质询-响应有关。有些东西导致它在一个环境中失败,而不是在另一个环境中。在这两种情况下,都会使用正确的参数调用代码。
  • 是的,我写完之后才意识到。抱歉,现在只是猜测。

标签: java sharepoint liferay ntlm jespa


【解决方案1】:

即使您尚未购买该产品,IOPLEX 支持仍会为您提供帮助。

关于您的问题,不要使用 javax.security.auth.Subject 提供凭据,而是尝试使用“标题属性”提供凭据。也许您的 Liferay 正在创建新线程,并且基于主题的凭据正在被丢弃。此功能在任何地方都没有记录(因此在技术上不受支持),但请查看示例/HttpGetWithHeaderProperties.java。

【讨论】:

    猜你喜欢
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    相关资源
    最近更新 更多