java - 使用 java.lang.SecurityManager 的最合适用例?

标签 java security api

对于某些方法调用,您总是可以看到此类安全检查。 我知道它是如何工作的,但我不知道检查它们的原因。或者说最适合使用它们的用例?我只是很惊讶在 JDK 源代码中经常能找到它们,但几乎没有 知道目的。你们在工作中使用过它们吗?在哪些情况下?

我需要在这里添加一个约束。文件权限非常简单。我的意思是那些函数调用权限检查。什么样的函数调用被认为是危险的并且应该由安全管理器检查?

例如,

jaav.security.Policy

private static void checkPermission(String type) {
    SecurityManager sm = System.getSecurityManager();
    if (sm != null) {
        sm.checkPermission(new SecurityPermission("createPolicy." + type));
    }
}

最佳答案

一些 Java 应用程序在沙盒环境中运行(小程序、WebStart 应用程序等),以防止它们变得令人讨厌(例如,在某个随机 HTML 页面中执行的小程序不应该能够访问文件系统并读取您的所有个人数据)。这些检查构成了沙箱。

有一些方法可以启用其中一些受限操作(通过签署 jar 并请求最终用户的批准)。

安全管理器处理允许的内容和不允许的内容。阅读 http://download.oracle.com/javase/6/docs/technotes/guides/security/permissions.html 。它列出了所有权限并描述了允许这些权限会遇到哪些风险。

关于java - 使用 java.lang.SecurityManager 的最合适用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7131911/

相关文章:

Java XML Transformer 将 "\n"替换为空格

JavaFX - 节点文本上的第一个下划线不呈现

javascript - IE 8 安全设置阻止 javascript 发送 xmlHTTPRequest

java - jPlaton 数据库 API - 没有返回行

api - 如何使用 API 向 SalesForce 用户发送临时密码?

java - 将文件中的字符串值转换为整数

Java swing 渲染优化

tomcat - 使用 Container Managed Security 从主页登录

javascript - 不验证直接使用window.location.href是否安全

laravel - Laravel 如何解码 HTTP 请求正文 Content-Type : application/x-www-form-urlencoded when using api call