我已经在 Tomcat 7 上实现了一个带有领域配置的简单 JAAS 模块。当在 catalina.sh 中指定 jaas.conf 文件时,它可以正常工作
JAVA_OPTS=$JAVA_OPTS "-Djava.security.auth.login.config==$CATALINA_BASE/conf/jaas.config"
但是,我想通过在内部将此配置文件添加到 Web 应用程序来简化我的应用程序。文档说明您可以使用 configFile 参数
“与此领域一起使用的 JAAS 配置文件的名称。将使用 ClassLoader#getResource(String) 搜索它,因此可以将配置捆绑在 Web 应用程序中。如果未指定,则默认将使用 JVM 全局 JAAS 配置。”
我的网络应用程序中的 context.xml:
<Realm appName="AppLogin" className="org.apache.catalina.realm.JAASRealm" configFile="WEB-INF/jaas.config" ...../>
配置文件位于/WEB-INF/jaas.config
为什么我的 jaas 配置文件没有被加载?
最佳答案
It will be searched for using
ClassLoader#getResource(String)
那么你需要将JAAS配置文件放在类路径中:WEB-INF/classes
或WEB-INF/lib
但不是WEB-INF
直接。
并且仅指定文档中所写的文件名:
configFile
- The name of a JAAS configuration file to use with this Realm.
关于java - JAAS Realm 加载内部配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26427161/