代码之家  ›  专栏  ›  技术社区  ›  mhaller

是否提供其他SecurityManager实现?

  •  5
  • mhaller  · 技术社区  · 14 年前

    是否有其他实现(例如在OSS项目中)的 Java安全管理器 有哪些功能比JDK中的功能更多?

    我在找像

    • 运行时可配置
    • 可在运行时更新的策略,从除 security.policy 文件
    • 线程感知,例如每个线程的不同策略
    • 更高级别的策略,例如“禁用网络功能,但允许JDBC流量”
    • 常见的预定义策略,例如“允许对常见系统属性(如 file.encoding line.separator ,但不允许对user.home进行读取访问“
    • 监控和审计跟踪日志记录,例如“记录所有文件访问,记录所有不到knownhost.example.org的网络访问”
    • 阻止作业“请求”权限,直到管理员授予权限,让线程/作业继续

    我很确定应用服务器(至少是商业服务器)有自己的 SecurityManager 或者至少是他们自己的策略配置。我想知道是否有类似要求的免费项目。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Aaron Digulla    14 年前
    • 动态 ProtectionDomain s (在1.4 IIRC中介绍),委托给可修改的 Policy .
    • 通过线程确定权限是非常困难的。小程序安全管理器通过 ThreadGroup 这通常被认为是一件坏事。
    • 您可以允许连接到特定端口。类似地,您可以拥有一个特权JDBC驱动程序,它可以代理到另一个通过 AccessController.doPrivileged .
    • 可以为每个键指定系统属性的权限。
    • AccessController 在Sun/Oracle实现中确实有跟踪功能。
    • applets/webstart将显示一个对话框,例如,打印。但是JNLP服务方法要好得多。

    “glossitope”试图让系统在每次请求权限时都弹出一个对话框。当然,对于只想看到跳舞的猪的用户来说,这个请求毫无意义。(Glossitope尝试了Vista侧面板的Java版本。添加到6U10的功能(拖放安装、非矩形窗口、警告图标而不是横幅、JNLP服务)使其基本上是冗余的。

        2
  •  2
  •   Devon_C_Miller    14 年前

    我不知道有一个独立的SecurityManager项目。任何应用程序服务器(jboss、glassfish)都将包含一个服务器来控制加载的应用程序可以做什么。

    以下是我在滚动您自己的主题上找到的一些链接:

    推荐文章