Java安全——安全管理器

news/2024/12/23 4:27:40/

Java安全

安全管理器

Java安全管理器是一个Java安全模型中的一个组件,主要的作用是提高Java应用程序的安全性。Java应用程序中的每个线程都会对安全管理器进行检查,在执行代码之前,会先经过安全管理器的核验,安全管理器根据代码来源和代码执行权限等因素对代码进行审核和管理,以确保应用程序不会做出危险的行为。

安全管理器的主要作用如下:

  1. 控制Java程序的访问权限:Java安全管理器可以设定哪些资源可以被一个Java程序访问,哪些资源不能被访问等访问权限,从而保证程序运行时资源的安全性。
  2. 控制Java程序的执行权限:Java安全管理器可以控制Java程序在运行时的执行权限,如可以对Java程序的权限进行限制,禁止它们进行某些操作,从而保障程序的执行安全。
  3. 权限管理:Java安全管理器可以管理用户的权限,如授权用户访问资源,确保用户的访问行为不会对资源造成风险,同时保护用户的信息安全。

安全沙箱的实现取决于:

  • 安全管理器

    • 安全管理器提供的机制,保证API与安全执行的操作是否被允许
  • 存取控制器

    • 安全管理器默认实现的基础
  • 类装载器

    • 安全策略和类的封装

在这里插入图片描述

安全管理器的概述

最重要的是提供定义安全策略,所有程序都需要在安全策略的基础上实现操作。

Java沙箱的大部分参数都是由安全管理器确定的,安全管理器的作用就是最终决定允许哪些操作可以执行。

如果java程序需要打开一个文件,是由安全管理器确定是否能够实现这个操作。

安全管理器和javaAPI

在这里插入图片描述

在这里插入图片描述

安全管理器的操作

在这里插入图片描述

安全管理器的方法

文件访问有关的方法
  1. checkRead(String file):检查是否可以读取指定文件资源。如果当前代码没有读取该文件的权限,则此方法将抛出 AccessControlException 异常。
  2. checkWrite(String file):检查是否可以写入指定文件资源。如果当前代码没有写入该文件的权限,则此方法将抛出 AccessControlException 异常。
  3. checkDelete(String file):检查是否可以删除指定文件资源。如果当前代码没有删除该文件的权限,则此方法将抛出 AccessControlException 异常。
  4. checkPermission(Permission perm):检查是否已授予指定的权限。当涉及到文件 I/O 权限时,这个方法将检查权限是否有权访问给定的文件或文件夹。
  5. checkExec(String cmd):检查是否可以执行指定命令。这个方法在使用 Java Runtime 类的 exec() 方法时非常有用,可以在运行命令之前检查是否有权运行命令。
  6. checkPropertiesAccess():检查是否可以访问系统属性。这个方法在 Java 应用程序试图读取或修改 Java 系统属性时非常有用。
网络相关的方法

在这里插入图片描述

保护java虚拟机的方法

在这里插入图片描述

保护程序线程的方法

java执行很大程度依赖于线程。

在这里插入图片描述

系统资源的保护

在这里插入图片描述

在这里插入图片描述

保护安全性的方法

在这里插入图片描述


http://www.ppmy.cn/news/652195.html

相关文章

ES-索引的增删改查

1.索引 目的:存储学生的分数信息,且支持 搜索 “姓名、课程名、分数” -- 示例数据 -- {"username":"zs","courses": [{"course":"数学","grade": 99},{"course":"英语&q…

中国十大进口母婴店热销品牌排名前10

根据2020年中国品牌网统计的十大进口母婴品牌排名,由优家宝贝整理后发布。分别是以下十个进口母婴品牌,根据热度进行的名次排行榜。 排在Top1的是贝亲,它创始于1957年,2002年正式进入中国市场,它秉承爱的理念,以“放心、安全、信赖”作为奠定品牌价值的基石。它一直致力于为消费…

知名油漆涂料品牌排行榜前十名

无论是对于装修还是加盟,相信很多人也想了解一下环保涂料品牌排行榜前十名是哪些品牌,这么多品牌到底哪个可靠,各种广告网.站.排.名不同,有的看起来也很权威, 到底哪个真哪个假,小编市场前沿走访近万家终端…

pytorch中创建矩阵的诸多方法

创建矩阵 在 PyTorch 中,我们可以使用以下方法来创建矩阵: 使用列表或 NumPy 数组创建: import torch import numpy as np# 使用列表创建矩阵 lst [[1, 2, 3], [4, 5, 6]] tensor1 torch.tensor(lst)# 使用 NumPy 数组创建矩阵 arr np.ar…

电脑双屏开机后副屏黑屏_电脑两个显示器怎么设置,电脑显示器黑屏

越来越多的电脑普及融入到我们的生活中,通常见到的一台电脑一个显示器,就完全可以满足我们日常生的娱乐、学习以及平常的工作,但也有特殊的情况,往往对于复杂性的工作而言,开启过多的窗口不仅影响工作的效率&#xff0…

台式计算机连接,台式电脑双显示器连接设置方法与技巧

我们经常遇到如图所示的双显示器电脑,那么怎么连接两个或多个显示器呢?下面是小编收集整理的,希望对大家有帮助~~ 工具/原料 至少两个显示器 电脑 VGA线、HDMI线、DVI线 第一步:双显示器的组装 1首先先确定电脑的配置,如果是没有…

Servlet实现留言墙

目录 1.创建工程 2.构建目录工程结构 3.设置编码格式尾utf-8 4.查看Maven配置 5.一些其他配置​编辑 6.导入依赖 7.导入HTML和JS、配置tomcat 8.测试网站是否可以正常访问 9.编写业务代码 开发环境:idea2022.2社区版 1.创建工程 2.构建目录工程结构 web.xml中的…