在 Solaris 上的 tomcat 中读取对 ROOT/ 父目录的访问



我在SunOS 5.10上运行tomcat7,并且正在webapp/ROOT/目录下开发一个Web应用程序。我正在尝试在应用程序中查看 webapp/foo 目录是否存在:

String invpath = application.getRealPath( "user" ) //I also use this for something else
String soapPath = invpath.substring( 0, invpath.indexOf( "ROOT/user" ) ) + "foo";
            out.print(soapPath);
            //test if SOAP is installed
            File soap = new File( soapPath );
            if( soap.exists() )   //this is the line he doesn't like much
            {//html code}

但是雄猫扔了我:

org.apache.jasper.JasperException: An exception occurred processing JSP page /content/home.jsp at line 83

java.security.AccessControlException: access denied ("java.io.FilePermission" "/path/to/tomcat/webapps/foo" "read")

目录的绝对路径是好的。

我确实对这个目录上的每个人都有读取权限,当我在 debian 机器上运行这段代码时,它工作正常......我几乎不了解Solaris/SunOS(但我确实非常了解linux),所以我的错误可能非常愚蠢!

因此,tomcat 似乎是使用 -security 参数启动的,该参数基本上阻止访问几乎所有内容,除非在安全管理器配置文件 ( conf/catalina.policy 中提及)......此处的文档:http://tomcat.apache.org/tomcat-7.0-doc/security-manager-howto.html

相关内容

  • 没有找到相关文章

最新更新