1 回答

TA贡献1789条经验 获得超8个赞
问题是 java 安全试图在AuthConfigFactory::getFactory()
. 它首先检查安全属性是否authconfigprovider.factory
存在。
如果该属性authconfigprovider.factory
不存在,它将创建为类的默认实例org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl
,这可能没问题。
问题是当您尝试在已在 java.security 文件中定义该安全属性的机器上运行时authconfigprovider.factory
(com.ibm.ws.security.jaspi.ProviderRegistry
可能该机器用于 WebSphere)。
所以当然你没有课程com.ibm.ws.security.jaspi.ProviderRegistry
,你会得到ClassNotFoundException
。
要解决它,请尝试创建您自己的 java.security 文件并将其定位在您的应用程序下,在该文件内 - 覆盖属性,如authconfigprovider.factory=org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl
.
要使您的新 java.security 文件处于活动状态,请添加 jvm 参数-Djava.security.properties=java.security
。
添加回答
举报