Java 在Websphere Application Server上运行基于Filenet的web应用程序时出现凭据异常

Java 在Websphere Application Server上运行基于Filenet的web应用程序时出现凭据异常,java,websphere,jaas,filenet-p8,filenet,Java,Websphere,Jaas,Filenet P8,Filenet,我开发了一个REST服务,它从内容引擎存储中检索数据。为简单起见,我创建了具有只读权限的用户帐户,并使用以下代码将其用于CE授权: UserContext context = UserContext.get(); Connection connection = Factory.Connection.getConnection("connection.url"); Subject subject = UserContext.createSubject(connection, "connection

我开发了一个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:安全\u无效\u凭据:不允许访问内容引擎,因为内容引擎api库或Web服务接口(WSI)侦听器找不到所需的安全上下文信息。在安全上下文中找不到所需的凭据


WAS是否需要任何额外配置才能使此方法工作?或者可能存在更好的方法来解决授权问题?

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

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

这对你有影响吗?

我用不同的诗节解决了这个问题。出于某种原因,我使用的那个(FileNetP8,默认值)与Tomcat配合得很好,但与WebSphereApplicationServer有问题。在WAS安全登录配置中,我找到了FileNetP8WSI节,它起到了作用。

实际上,当我们使用空节值时,它会被默认值“FileNetP8”取代。因此,不幸的是,它没有正确的节只是一个字符串参数,请使用“FileNetP8WSI”而不是null:UserContext.createSubject(conn,“user”,“password”,“FileNetP8WSI”)