3

我开发了一个 REST 服务,可以从内容引擎存储中检索数据。为简单起见,我创建了具有只读权限的用户帐户并将其用于 CE 授权,使用以下代码:

UserContext context = UserContext.get();
Connection connection = Factory.Connection.getConnection("connection.url");
Subject subject = UserContext.createSubject(connection, "connection.username", "connection.password", "connection.stanza");
context.pushSubject(subject);

在开发过程中,我在本地 Tomcat 服务器上测试了我的服务,一切正常。现在我已经在 ContentEngine 所在的 Websphere Application Server 上部署了该服务,当我尝试访问我的 REST 服务时,出现以下异常:

错误 500:org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 com.filenet.api.exception.EngineRuntimeException: FNRCS0005E: SECURITY_INVALID_CREDENTIALS: 不允许访问内容引擎,因为内容引擎 API 库或 Web 服务接口 (WSI) 侦听器找不到所需的安全上下文信息。在安全上下文中找不到预期的凭据。

WAS 是否需要任何额外的配置才能使这种方法起作用?或者也许存在解决授权问题的更好方法?

4

2 回答 2

4

我已经设法通过使用不同的节来解决这个问题。我使用的那个(FileNetP8,默认值)出于某种原因与 Tomcat 完美配合,但在 Websphere Application Server 上出现了问题。在 WAS 安全登录配置中,我找到了解决问题的FileNetP8WSI节。

于 2013-03-15T08:48:30.300 回答
0

我使用几乎完全相同的代码通过 WebSphere 成功连接到 CE,但我使用了一个空节

Subject subject = UserContext.createSubject(connection, username, password, null);

这对你有影响吗?

于 2013-03-15T04:33:03.033 回答