【发布时间】:2017-10-02 02:04:25
【问题描述】:
虽然类似,但我遇到的具体问题在Use JASPIC auth module on WebSphere 8.5中没有解决
我收到以下错误消息:
SECJ8027E: 必须使用属性 com.ibm.websphere.jaspi.configuration 指定存储 JASPI 持久注册的文件的路径和名称。
我可以将管理中的自定义属性设置为某个现有文件夹,但我想确保这是正确的方法,或者我是否缺少某些步骤。
注意,我专门使用“嵌入应用程序”的方法,而不是服务器安装的 JASPIC 模块,所以我有这样的东西
@WebListener
public class JaspicInitializer implements
ServletContextListener {
@Override
public void contextInitialized(final ServletContextEvent sce) {
final Map<String, String> options = new HashMap<>();
AuthConfigFactory.getFactory()
.registerConfigProvider(AuthModuleConfigProvider.class.getName(), options, "HttpServlet", null, null);
}
}
我在 WebSphere 8.5.5.11 和 9.0.0.3 上都遇到了错误
【问题讨论】:
-
这可能是轻微的规范违规,因为我不记得规范暗示工厂可能需要任何类型的专有配置来进行提供者注册,无论是否持久。您是否尝试过更流行的内存替代方案,即
#registerConfigProvider(AuthConfigProvider, String, String, String)?当然,如果您绝对需要能够执行完全可移植的持久性注册(包括实际的持久性机制/表示),您也可以提供自己的AuthConfigFactory实现。 -
哦,我看到了不同之处……花了一点时间。那就推一个实例吧。
-
这解决了一个问题,我不再收到错误消息,但它也没有被触发。我会在另一个问题中问这个问题。