WebSphere 错误消息上的自定义 JASPIC
Custom JASPIC on WebSphere error message
虽然类似,但我遇到的具体问题没有在Use JASPIC auth module on WebSphere 8.5
中解决
我收到以下错误消息:
SECJ8027E: The path and name of file where JASPI persistent registrations are stored must be specified using property com.ibm.websphere.jaspi.configuration.
我可以将管理中的自定义设置 属性 设置为某个现有文件夹,但我想确保这是正确的方法,或者我是否遗漏了某些步骤。
请注意,我专门使用 "embedded in application" 方法而不是服务器安装的 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 上都遇到了错误
根据@Uux 的评论,我更改了注册方式,因此不再报错。
@WebListener
public class JaspicInitializer implements
ServletContextListener {
private String registrationID;
@Override
public void contextDestroyed(final ServletContextEvent sce) {
AuthConfigFactory.getFactory().removeRegistration(registrationID);
}
@Override
public void contextInitialized(final ServletContextEvent sce) {
final ServletContext context = sce.getServletContext();
registrationID = AuthConfigFactory.getFactory()
.registerConfigProvider(new AuthModuleConfigProvider(), "HttpServlet",
context.getVirtualServerName() + " " + context.getContextPath(), "JEE Sample");
}
}
WebSphere Global Security 也需要配置
- 启用应用程序安全
- 启用Java 身份验证 SPI (JASPI)
虽然类似,但我遇到的具体问题没有在Use JASPIC auth module on WebSphere 8.5
中解决我收到以下错误消息:
SECJ8027E: The path and name of file where JASPI persistent registrations are stored must be specified using property com.ibm.websphere.jaspi.configuration.
我可以将管理中的自定义设置 属性 设置为某个现有文件夹,但我想确保这是正确的方法,或者我是否遗漏了某些步骤。
请注意,我专门使用 "embedded in application" 方法而不是服务器安装的 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 上都遇到了错误
根据@Uux 的评论,我更改了注册方式,因此不再报错。
@WebListener
public class JaspicInitializer implements
ServletContextListener {
private String registrationID;
@Override
public void contextDestroyed(final ServletContextEvent sce) {
AuthConfigFactory.getFactory().removeRegistration(registrationID);
}
@Override
public void contextInitialized(final ServletContextEvent sce) {
final ServletContext context = sce.getServletContext();
registrationID = AuthConfigFactory.getFactory()
.registerConfigProvider(new AuthModuleConfigProvider(), "HttpServlet",
context.getVirtualServerName() + " " + context.getContextPath(), "JEE Sample");
}
}
WebSphere Global Security 也需要配置
- 启用应用程序安全
- 启用Java 身份验证 SPI (JASPI)