如何在提供平台以运行不同语言代码的Web应用程序的tomcat中设置Java安全策略[重复]
Posted
技术标签:
【中文标题】如何在提供平台以运行不同语言代码的Web应用程序的tomcat中设置Java安全策略[重复]【英文标题】:How to set java security policy in tomcat of a web application giving platform to run codes of different languages [duplicate] 【发布时间】:2016-11-05 06:33:44 【问题描述】:在我的网络应用程序中,我提供了运行外部代码的平台,这些代码将存储在特定位置,例如“C:\Users\test”。
我想拒绝System.getProperty("user.home")
的读写权限,并且无法通过代码进行任何 http 连接。如何做到这一点?
我还有一个与之相关的问题,就是我们都知道我们不能拒绝策略文本文件的权限,那么当我们在策略文件中提到permission java.security.AllPermission;
时,谁能告诉我权限是什么?
【问题讨论】:
【参考方案1】:默认安全策略包含在 Tomcat 配置目录中的catalina.policy
文件中。要应用此文件,您应该使用 -security
选项运行 Tomcat。更多信息在 Tomcat 的Security Manager HOW-TO
permission java.security.AllPermission
授予执行任何操作的权限。它应该只应用于完全受信任的代码,例如系统或 Tomcat 的库。默认catalina.policy
就是这种情况。
【讨论】:
请检查我的问题。我在问如何拒绝权限@kgeorgiy .policy files 中没有权限撤销机制。要“拒绝”某些事情,您不应该允许这样做。 在使用权限 java.security.AllPermission 命令时,您能说出授予用户的权限列表吗? 没有所有可能权限的封闭列表。例如,每个文件都有一个单独的FilePermission
。甚至AllPermissions
授予的权限 types 列表也取决于 Java 平台的版本,例如URLPermission
仅在 Java 8 中添加。
没有办法做到这一点。您应该将PropertyPermission
授予真正使用的属性。以上是关于如何在提供平台以运行不同语言代码的Web应用程序的tomcat中设置Java安全策略[重复]的主要内容,如果未能解决你的问题,请参考以下文章