OJ判题系统中遇到的问题:关于java原生限制权限
做OJ判题系统的时候,使用Java原生来对用户的操作进行限制,遇到了一个现象,就是
/**
* 默认安全管理器
*/
public class DefaultSecurityManager extends SecurityManager{
// 检查所有权限
public void checkPermission(Permission perm) {
super.checkPermission(perm);
}
}
这段代码中的super.checkPermission(perm); 它也会默认限制一些操作,比如获取文件的目录,会出现以下这个报错:

默认不做任何权限限制
("java.util.PropertyPermission" "user.dir" "read")
Exception in thread "main" java.security.AccessControlException: access denied ("java.util.PropertyPermission" "user.dir" "read")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.security.AccessController.checkPermission(AccessController.java:886)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at yuoj.yuojcodesandbox.security.DefaultSecurityManager.checkPermission(DefaultSecurityManager.java:15)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1294)
at java.lang.System.getProperty(System.java:731)
at yuoj.yuojcodesandbox.JavaNativeCodeSandBox.executeCode(JavaNativeCodeSandBox.java:68)
at yuoj.yuojcodesandbox.JavaNativeCodeSandBox.main(JavaNativeCodeSandBox.java:48)
以下是gpt的回答,希望能对大家有帮助:


评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
作者分享
大家好,好久没更新自己的状况了。
经过长时间的gap,现在被以前的公司重新录取做对日驻场项目的开发,仍然是java
考虑到日本项目的技术栈和工作流与国内项目的巨大差异,也穿越幻想,清醒的认知到自己的处境。
今后,会继续持续不断地学习技术与外语(英语和日语),并保持记录的。
记录将发在这里,希望能够和各位老师和大佬们相互学习,多多交流!
2
稍微说点技术之外的一点心得吧。
最近突然发现,貌似忘记自己曾经有过抑郁症了。可能是因为发现想学习的事物太多太多了,除了技术之外还很多别的方面的电子书没看,有人类学,艺术,哲学,神秘学等就很想看。当然这些以后再看哈哈哈,现在就是以技术为主。所以就,有时候想到以前的一些状态反而会觉得平静。明天继续加油[胜利]
21
oj判题系统遇到的问题:当你的Docker Java库无法连接到Docker守护进程的Unix该怎么办?
10
OJ项目遇到的问题(直播里有讲但还是想记录一下)--构建远程项目相关
14
OJ判题系统小问题分享--文件夹权限
10
