安全策略是一个矩阵,标识的是什么样子的资源在什么情况下能被访问。
Java的代码安全性是基于沙漏模型的,原始的使用SecurityManager,后面增加了checkPermission方法处理。如果没有给出任何安全策略则其默认的安全策略是JDK1.1以前的沙漏模型,这个模型的特点是完全信任本地代码,都网络代码进行本地访问权限限制。任何策略必须继承java.security.Policy类。
对于已经加载的类,JDK1.2默认是不检查其安全特性,即使用户使用setPolicy修改了安全策略。Java的安全属性文件位于JAVA-HOME/lib/security/java.security。
安全策略使用描述代码特点和赋予的安全许可的CodeSource来进行安全限制。Java中安全描述使用CodeSource类,代码特点包含代码起源和数字证书,注意这里“代码”可能是一个jar,这个和.NET授权按照程序集进行授权类似。CodeSource其自身的完整性是在使用构造函数初始化代码URI和数字证书保证的.CodeSource使用其自身的implies方法确定其他CodeSource是否也可以使用自己本身的安全策略。
其权限字典使用java.security.Permission实现,例如FilePermission
Java的代码安全性是基于沙漏模型的,原始的使用SecurityManager,后面增加了checkPermission方法处理。如果没有给出任何安全策略则其默认的安全策略是JDK1.1以前的沙漏模型,这个模型的特点是完全信任本地代码,都网络代码进行本地访问权限限制。任何策略必须继承java.security.Policy类。
对于已经加载的类,JDK1.2默认是不检查其安全特性,即使用户使用setPolicy修改了安全策略。Java的安全属性文件位于JAVA-HOME/lib/security/java.security。
安全策略使用描述代码特点和赋予的安全许可的CodeSource来进行安全限制。Java中安全描述使用CodeSource类,代码特点包含代码起源和数字证书,注意这里“代码”可能是一个jar,这个和.NET授权按照程序集进行授权类似。CodeSource其自身的完整性是在使用构造函数初始化代码URI和数字证书保证的.CodeSource使用其自身的implies方法确定其他CodeSource是否也可以使用自己本身的安全策略。
其权限字典使用java.security.Permission实现,例如FilePermission