我已经在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配置。”
我的Web应用程序中的context.xml:
<Realm appName="AppLogin" className="org.apache.catalina.realm.JAASRealm" configFile="WEB-INF/jaas.config" ...../>
配置文件位于/WEB-INF/jaas.config
为什么我的Jaas配置文件没有被加载?
http://tomcat.apache.org/tomcat-7.0-doc/config/realm.html#JAAS_Realm_-_org.apache.catalina.realm.JAASRealm
最佳答案
将使用ClassLoader#getResource(String)
搜索它
然后,您需要将JAAS配置文件放在类路径中:WEB-INF/classes
或WEB-INF/lib
,而不是WEB-INF
。
并仅指定文档中所写的文件名:
configFile
-与此配合使用的JAAS配置文件的名称
领域。