【问题标题】:How to set java security policy in tomcat of a web application giving platform to run codes of different languages [duplicate]如何在提供平台以运行不同语言代码的Web应用程序的tomcat中设置Java安全策略[重复]
【发布时间】:2026-01-31 04:15:01
【问题描述】:

在我的网络应用程序中,我提供了运行外部代码的平台,这些代码将存储在特定位置,例如“C:\Users\test”。

我想拒绝System.getProperty("user.home") 的读写权限,并且无法通过代码进行任何 http 连接。如何做到这一点?

我还有一个与之相关的问题,就是我们都知道我们不能拒绝策略文本文件的权限,那么当我们在策略文件中提到permission java.security.AllPermission; 时,谁能告诉我权限是什么?

【问题讨论】:

    标签: java tomcat policy


    【解决方案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 授予真正使用的属性。
    最近更新 更多