当java应用程序启动时,它还没有安全管理器,应用程序可以通过将一个指向java.lang.SecurityManager或是其子类的实例传给
System.setSecurityManager()来安装一个安全管理器,安全管理器的作用嘛,谁用谁知道,留下个例子代码吧,见代码....
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class MySecurityManager extends SecurityManager {
@Override
public void checkRead(String file) {
if (file.endsWith("Security.txt"))
throw new SecurityException("这个你是没有权限读滴...");
}
/**
*
* @param args
* @return void
*/
public static void main(String[] args) {
// 设置安全管理器
System.setSecurityManager(new MySecurityManager());
try {
// new FileOutputStream("Security.txt");
FileInputStream fis = new FileInputStream("Security.txt");
System.out.println(fis.read());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
输出:
Exception in thread "main" java.lang.SecurityException: 这个你是没有权限读滴...
at com.jvm.threee.securitymanager.MySecurityManager.checkRead(MySecurityManager.java:14)
at java.io.FileInputStream.<init>(FileInputStream.java:100)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at com.jvm.threee.securitymanager.MySecurityManager.main(MySecurityManager.java:27)
可以程序显示的安装安全管理器,同样可以让它自动安装默认的安全管理器(给jvm加上-Djava.security.manager就可以了)
当然还有安全策略文件,这个就不举例了,参考http://blog.csdn.net/neusoftware_20063500/article/details/4200458
分享到:
相关推荐
Java安全API包括`java.security`和`javax.security`包,提供了安全管理器、权限类、密钥和证书管理等功能。例如,`SecurityManager`类用于实施全局安全策略,`Permission`类定义了可授予或拒绝的权限类型。 6. **...
3.10.1 使用安全管理器的实例 51 3.10.2 JDK1.2中没有改变的API 52 3.10.3 JDK1.2中禁用的方法 53 3.11 java.security.AccessController 56 3.11.1 AceessController的界面设计 57 3.11.2 基础访问控制算法 57 ...
创建安全管理器利用安全管理器public static void main(String args[]){方法调用此方法时,返回所有新创建的线程实例化后所在的线
Java安全管理器(SecurityManager)是Java中的一种安全机制,允许应用程序实现安全策略。它包含了很多名称以单词check开头的方法,Java库中的各种方法在执行某些潜在的敏感操作前可以调用这些方法。安全管理器通过抛...
12. **安全管理**: Java的权限模型在1.6中进一步完善,包括了Policy类、SecurityManager类和Permission类,用于控制代码的执行权限。 这个“Java API 1.6中文手册.chm”文件提供了所有这些知识点的详细文档,便于...
在Java编程语言中,`SecurityManager`(安全管理器)是一个重要的安全组件,它允许开发者对应用程序的安全性进行精细控制。`SecurityManager`是Java虚拟机(JVM)的一部分,用于实施一套安全策略,以防止代码执行...
9. **反射和安全管理**: - 反射允许代码在运行时动态地访问类和方法,但这也可能带来安全风险。安全经理对此进行了限制,需要进行相应的权限检查。 10. **JNI和本地方法安全性**: - Java Native Interface(JNI...
3.10.1 使用安全管理器的实例 51 3.10.2 JDK1.2中没有改变的API 52 3.10.3 JDK1.2中禁用的方法 53 3.11 java.security.AccessController 56 3.11.1 AceessController的界面设计 57 3.11.2 基础访问控制算法 57 ...
- **API级安全**: 包括`SecurityManager`、`ClassLoader`、`CertPath`以及`JAAS`等组件,为开发者提供了灵活的安全管理选项。 - **加密支持**: 通过`JCA`、`JCE`和`JSSE`等库,Java支持广泛的加密算法和协议。 ####...
权限的管理通常在安全管理器(SecurityManager)中进行配置。 3. **类加载器机制**:Java的类加载器设计允许隔离不同来源的代码,有助于防止恶意代码篡改或干扰其他合法代码的执行。 4. **签名与代码认证**:使用...
6. **ch7** - 可能探讨“安全管理器”和自定义安全策略。这部分内容可能包括如何实现和配置`java.lang.SecurityManager`,以及如何编写自定义的安全策略文件来细化权限控制。 7. **ch6** - 可能是关于“沙箱之外:...
此外,权限(Permissions)和安全管理者(SecurityManager)一起工作,对敏感操作进行控制,如文件读写、网络访问等。 Java还提供了一种名为“异常”的机制,用于处理程序中的错误和异常情况。在安全编程中,异常...
3. java.lang.SecurityManager:这是安全管理器的实现类,通过设置System属性`java.security.manager`,可以启用安全管理器。 4. java.security.AccessController:在需要进行安全性检查的地方,会调用Access...
此外,Java2平台还支持安全管理扩展(Security Manager Extensions, SMEs),允许开发人员添加自定义的安全功能。这可以通过实现特定的接口或继承已有的安全类来完成。 总而言之,Java2平台安全技术涉及到广泛的...
开发者可以通过定制安全管理器和安全策略文件来细化安全控制。安全策略文件定义了哪些代码可以从哪些来源获取权限,以及这些代码可以执行哪些操作。 五、异常处理与权限检查 在进行敏感操作时,Java会抛出`...
9. **安全管理器**:通过自定义安全管理器,可以进一步定制Java应用程序的安全策略。理解如何设置和使用`java.lang.SecurityManager`是控制应用程序行为的关键。 10. **Java标准安全API**:熟悉`java.security`包中...
权限对象代表特定的操作,保护域包含了拥有这些权限的代码,而安全管理器是执行权限检查的组件。 API设计在Java2平台安全技术中扮演着关键角色。Java提供了丰富的安全相关的API,如java.security包下的Permission、...
4. **权限与安全管理器**:Java的权限模型允许通过安全管理器限制代码执行特定操作,如读写文件、网络连接等。开发者需要理解和使用`java.security.Permission`和`java.lang.SecurityManager`来实施细粒度的控制。 ...