异常问题
之前在实际项目现场,出现过这么一种现象:
在BS报表系统中,需要对报表进行打印,点击打印按钮无任何反应,之前都好好的,为何突然不行啦?通过打开Java控制台查看,发现出现如下错误ava.security.AccessControlException:access denied (java.net.SocketPermission..异常日志:
java.security.AccessControlException:access denied (java.net.SocketPermission http://report.xx.xx.com:8000 connect,resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
这时才想起来,基于项目最终上线要求,对环境IP统一调整为域名后,才出现了这个问题,进行前后对比发现,出现这个问题与调整为域名有密切关系。
原因分析
通过错误异常日志和报表打印的实现方式进行分析,原来报表打印是采用Java apllet方式实现的,而applet跨越访问是会造成安全性问题的。
applet跨域访问的安全性问题(java.security.AccessControlException:access denied)
最新推荐文章于 2023-10-31 14:00:59 发布