Tomcat java.lang.SecurityException:找不到登录配置

Tomcat java.lang.SecurityException:找不到登录配置,tomcat,jaas,Tomcat,Jaas,嗨 我使用的是Bonita5.2和Tomcat6.0.19 我导出了应用程序(它提供了一个war文件和一些配置文件和库),并部署在tomcat中。当我运行应用程序时,在登录页面之后,我得到了错误信息 description The server encountered an internal error () that prevented it from fulfilling this request. exception java.lang.SecurityException: Unable


我使用的是Bonita5.2和Tomcat6.0.19 我导出了应用程序(它提供了一个war文件和一些配置文件和库),并部署在tomcat中。当我运行应用程序时,在登录页面之后,我得到了错误信息

description The server encountered an internal error () that prevented it from fulfilling this request. exception java.lang.SecurityException: Unable to locate a login configuration com.sun.security.auth.login.ConfigFile.(Unknown Source) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) java.lang.reflect.Constructor.newInstance(Unknown Source) . . . . 说明服务器遇到内部错误(),无法完成此请求。 例外 java.lang.SecurityException:找不到登录配置 com.sun.security.auth.login.ConfigFile。(来源未知) sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知源) java.lang.reflect.Constructor.newInstance(未知源) . . . . 在启动tomcat之前,我运行一个包含以下内容的bat文件:

set BONITA_OPTS="-Dorg.ow2.bonita.environment=d:\Tomcat6.0\conf\bonita-environment.xml" set LOG_OPTS="-Djava.util.logging.config.file=d:\Tomcat6.0\conf\logging.properties" set SECURITY_OPTS="-Djava.security.auth.login.config=d:\Tomcat6.0\conf\jaas-standard.cfg" set JAVA_OPTS=%JAVA_OPTS% %LOG_OPTS% %SECURITY_OPTS% %BONITA_OPTS% set-BONITA_OPTS=“-Dorg.ow2.BONITA.environment=d:\Tomcat6.0\conf\BONITA-environment.xml” set LOG_OPTS=“-Djava.util.logging.config.file=d:\Tomcat6.0\conf\logging.properties” set SECURITY_OPTS=“-Djava.SECURITY.auth.login.config=d:\Tomcat6.0\conf\jaas standard.cfg” 设置JAVA\u OPTS=%JAVA\u OPTS%%LOG\u OPTS%%SECURITY\u OPTS%%BONITA\u OPTS% 我猜这个错误是因为找不到jaas配置文件。但我对我提到的道路是肯定的

对于jaas,我还缺少什么配置

谢谢


我已经解决了这个问题。我需要将jaas cnfig文件路径放在文件JAVA\u HOME\jre6\lib\security\JAVA.security中

JAVA_HOME\jre6\lib\security\java.security
谢谢,在命令行中指定jaas配置文件也可以:


-Djava.security.auth.login.config=C:/Apps/apache-tomcat-6.0.29/conf/jaas.config

我使用的是tomcat 6.0.13解压(不是Windows服务)版本,我遇到了类似的问题

为了修复它,我只需在
catalina.bat
文件中添加以下选项:

set JAVA_OPTS=%JAVA_OPTS% "-Djava.security.auth.login.config=C:/SecureLoginModule.conf" %LOGGING_CONFIG%
这对我有用

-- Tks

试试这个:

String configFileLocation = getServletContext().getRealPath("/WEB-INF/jaas.config");
    System.err.println(configFileLocation);
    System.setProperty("java.security.auth.login.config", configFileLocation);

在servlet或JSP中
catalina.bat

第行下:
okhome

添加以下行

set JAVA_OPTS=%JAVA_OPTS% -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config

它对我有用。在过去的两天里,我一直有这个错误,谢谢你在这里发的其他帖子

tomcat是否作为windows服务运行?不,它不是作为windows服务运行的现在我也从windows服务启动了tomcat。但没有错误更改。您在哪个文件中添加了安全选项?你确定Tomcat还采用了所有其他设置,比如日志记录吗?我给出了jaas-standard.cfg文件的路径。如何检查tomcat是否采用了其他设置?请问您是如何在文件中指定此路径的?在哪个文件中?Jon的答案更好 JAVA_HOME\jre6\lib\security\java.security