问题标签 [security-policy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
560 浏览

java - 允许 RMI 和 JPA/Hibernate 同时工作的正确安全策略值设置是什么

我正在开发一个需要同时使用 JPA/Hibernate 和 RMI 的应用程序。由于 RMI 需要使用安全策略来确保正确分配对网络的访问权限,我现在还必须担心文件夹权限。

几天来,我一直在网上(以及这里的 SO)寻找解决这个问题的方法。基本上问题是,要让 JPA/Hibernate 工作,我必须将persistence.xml文件放在META-INF目录中,并且该META-INF目录必须在src我的项目目录下(这对我来说也没有意义,但它可以工作)。这样项目布局基本上是:

我一直在尝试授予对文件夹的读取访问权限的安全策略文件${user.dir}${/}src${/}META-INF${/}-,但是,当我尝试运行应用程序时出现错误No Persistence provider for EntityManager named DERBY_ACPSTORE_CREATE。但是,我的 persistence.xml 文件确实包含此内容,并且在注释掉所有 RMI 内容并停止读取安全策略时它可以工作。所以我的问题是如何让我的安全策略文件允许我读取 persistence.xml 文件?

更新 1

使用来自@Vineet Reynolds 的建议路径信息,我可以使用以下命令查看文件的路径:

但是,当我尝试创建数据库时,我仍然收到此错误。

正如我所说,在我开始使用安全策略之前,我的 persistence.xml 工作正常,所以我知道持久性单元“DERBY_ACPSTORE_CREATE”存在且正确。

更新 2

虽然我不确定这有什么好处,因为它在我不使用安全策略时起作用,这是我的 persistence.xml 内容:

更新 3

正如我在下面对 Vineet Reynolds 答案的评论中提到的那样,我已经在没有安全性的情况下测试了 persistence.xml,现在它正在工作。然后,当我恢复安全策略时,我再次收到错误。因此,以下是我的安全策略的内容以及我如何在我的应用程序中创建安全性:

这就是我的应用程序设置安全管理器时发生的情况

更新 4

我发现了一条在来自 log4j 之前我没有注意到的消息。消息是

这对我来说似乎很奇怪。所以我列出了类路径中的目录,但我发现org.project.root\bin但没有org.project.root。我现在知道运行时中的 META-INF 位于org.project.root\META-INF,并且类路径应该指向 ,org.project.root以便 JPA 和 hibernate 可以访问找到 persistence.xml。那么我是否需要以某种方式更改类路径以匹配它?

0 投票
2 回答
2068 浏览

oracle - 不允许时替换 MERGE INTO Oracle 语法的模式

我有一个应用程序,它使用 Oracle MERGE INTO... DML 语句更新表 A 以对应另一个表 B 中的一些更改(表 A 是表 B 的选定部分的摘要以及其他一些信息)。在典型的合并操作中,可能会在表 B 中插入 5-6 行(千行中的 10 行)并更新 2-3 行。

事实证明,该应用程序将部署在对目标表具有安全策略的环境中。MERGE INTO... 语句不能与这些表一起使用(ORA-28132:合并到语法不支持安全策略)

所以我们必须改变 MERGE INTO... 逻辑来使用常规的插入和更新。这是其他人遇到的问题吗?是否有将合并语句中的 WHEN MATCHED/WHEN NOT MATCHED 逻辑转换为 INSERT 和 UPDATE 语句的最佳实践模式?合并在存储过程中,因此如果需要,除了 DML 之外,该解决方案还可以使用 PL/SQL。

0 投票
2 回答
450 浏览

security - Web 应用程序帐户确认安全流程

我对确认链接的安全流程有疑问。

我有一个网站,您必须在提交这些信息后填写您的电子邮件地址和密码,我的应用程序会发送一封电子邮件,其中包含指向用户电子邮件地址的安全链接。单击确认电子邮件后,用户会自动登录到应用程序中。

现在问题:

单击确认链接自动登录用户是否存在安全风险?

0 投票
1 回答
462 浏览

java - spring + hibernate系统访问拒绝

我目前正在为公司开发网站并使用spring和hibernate。该网站即将完成。但是,当我将它部署在虚拟主机中时,它给了我错误:

16:51:39,518 WARN PoolConfig:105 - 读取系统属性被阻止——通过系统属性忽略任何 c3p0 配置!(但是通过 c3p0.properties 文件进行的任何配置仍然可以!) java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) at java.security.AccessController.checkPermission(AccessController.java:546) 在 java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 在 java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1252) 在 java.lang.System .getProperties(System.java:580) 在 com.mchange.v2.c3p0.PoolConfig.(PoolConfig.java:101) 在 com.mchange.v2.c3p0.impl.C3P0ImplUtils.defaultConnectionTester(C3P0ImplUtils.java:283) 在 com .mchange.v2.c3p0。

16:51:45,639 错误 BasicLazyInitializer:165 - Javassist 增强失败:com.xxx.entity.xxx java.security.AccessControlException:在 java.security.AccessControlContext.checkPermission(AccessControlContext.java: 323) 在 java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 在 java.lang.Class.getProtectionDomain(Class.java:2106) 在 javassist 的 java.security.AccessController.checkPermission(AccessController.java:546)。 util.proxy.ProxyFactory.getDomain(ProxyFactory.java:619) 在 javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:501) 在 javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:486) 在 javassist .util.proxy.ProxyFactory.createClass1(ProxyFactory.java:422) 在 javassist.util.proxy.ProxyFactory。createClass(ProxyFactory.java:394) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:162) at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java:65)在 org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:185) 在 org.hibernate.tuple.entity.AbstractEntityTuplizer.(AbstractEntityTuplizer.java:167) 在 org.hibernate.tuple.entity.PojoEntityTuplizer.(PojoEntityTuplizer .java:77) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 在 java. lang.reflect.构造函数。newInstance(Constructor.java:513) at org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:105) at org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:133) at org.hibernate .tuple.entity.EntityEntityModeToTuplizerMapping.(EntityEntityModeToTuplizerMapping.java:80) 在 org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:322) 在 org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:485)在 org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:133) 在 org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84) 在 org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:286 ) 在 org.hibernate.cfg.Configuration。buildSessionFactory(Configuration.java:1872) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:753) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:691) at org.springframework .orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1346) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1315) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) at org.springframework.beans.factory.support .AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:168) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java :398) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369) 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735)。springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:245) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:188) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener. java:45) 在 com.caucho.server.http.Application.init(Application.java:1845) 在 com.caucho.server.http.VirtualHost.startApplication(VirtualHost.java:1207) 在 com.caucho.server.http .VirtualHost.getInvocation(VirtualHost.java:1007) 在 com.caucho.server.http.ServletServer.getInvocation(ServletServer.java:1249) 在 com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:343) 在com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:274) 在 com.caucho.server.TcpConnection.run(TcpConnection.java:139) 在 java.lang.Thread.run(Thread.java:619) 16:51:45,664 WARN PojoEntityTuplizer:197 - 无法为:com.xxx.entity.xxx org.hibernate.HibernateException 创建代理工厂:Javassist 增强失败: com.hitv.entity.ProductMap 在 org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:169) 在 org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java:65)在 org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:185) 在 org.hibernate.tuple.entity.AbstractEntityTuplizer.(AbstractEntityTuplizer.java:167) 在 org.hibernate.tuple.entity.PojoEntityTuplizer.(PojoEntityTuplizer .java:77) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect。NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.hibernate.tuple.entity .EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:105) at org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:133) at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.(EntityEntityModeToTuplizerMapping.java:80) at org .hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:322) 在 org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:485) 在 org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:133) at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84) at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:286) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration. java:1872) 在 org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:753) 在 org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:691) 在 org.springframework.orm.hibernate3 .AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1346) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory。initializeBean(AbstractAutowireCapableBeanFactory.java:1315) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249 ) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) 在 org.springframework.beans 的 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)。 factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:168) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:398) 在 org.springframework.context.support。AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:245) at org .springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:188) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) at com.caucho.server.http.Application.init(Application .java:1845) 在 com.caucho.server.http.VirtualHost.startApplication(VirtualHost.java:1207) 在 com.caucho.server.http.VirtualHost.getInvocation(VirtualHost.java:1007) 在 com.caucho.server。 http.ServletServer.getInvocation(ServletServer.java:1249) 在 com。caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:343) 在 com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:274) 在 com.caucho.server.TcpConnection.run(TcpConnection.java: 139) 在 java.lang.Thread.run(Thread.java:619) 原因:java.security.AccessControlException:在 java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) 的访问被拒绝 (java.lang.RuntimePermission getProtectionDomain) ) 在 java.security.AccessController.checkPermission(AccessController.java:546) 在 java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 在 java.lang.Class.getProtectionDomain(Class.java:2106) 在 javassist.util .proxy.ProxyFactory.getDomain(ProxyFactory.java:619) 在 javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:501) 在 javassist.util。proxy.ProxyFactory.createClass2(ProxyFactory.java:486) 在 javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:422) 在 javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:394) 在 org.hibernate .proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:162) ... 41 更多

我在互联网上搜索了很长时间。似乎是服务器安全策略问题。我有什么方法可以更改框架代码以绕过安全限制吗?我需要根据日志修改哪个文件?

先感谢您!

0 投票
2 回答
365 浏览

java - Java 中的多租户安全管理器

我正在尝试为每个租户将多个策略配置文件加载到 java 安全管理器中。由于java secuirty 教程指定可以将多个策略文件加载到策略对象,但我的要求是如何在我的 Multi-Tenant 安全模型中指定哪个策略文件必须在运行时加载给哪个用户扩展了默认的安全模型。

0 投票
3 回答
1148 浏览

selenium - Selenium IEDriverServer 由于安全策略而无法配置保护模式

IEDriverServer Wiki 页面列出了以下要求:

在 Windows Vista 或 Windows 7 上的 IE 7 或更高版本上,您必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域都相同。

不幸的是,在我工作的地方,公司安全策略已锁定保护模式设置,因此我无法更改设置。

有没有办法解决这个问题并让 IEDriverServer 正常工作?或者 Selenium 不是在 Windows 7 上运行 IE 7+ 的企业环境的选项,在这种环境中用户无法更改保护模式设置?

谢谢,戴夫

0 投票
2 回答
1450 浏览

java - 从代码设置的 Java 安全策略

使用这段代码尝试设置策略文件:

java.lang.NullPointerException在最后一行得到一个。该文件位于我的项目目录中的正确路径中。

问题:什么可能导致此异常?

答:从 eclipse 运行,路径是相对于主项目文件夹构建的,而不是项目的 bin 文件夹。考虑到这一点,移动 bin 文件夹中的 res 文件夹解决了该问题,而无需更改上述任何代码。

0 投票
1 回答
2640 浏览

java - 什么是用于限制文件写入单个目录的简单 Java 安全策略?

我开始 Java 课程的学生开始学习文件 I/O,他们的一个项目涉及删除和重命名文件。我可以想出几十种可能出错的方法。

因此,使用 Java 的安全框架来限制他们的程序重命名、删除或覆盖不包含在特定目录中的文件会很有用。在目录之外阅读是可以的,而且该政策不需要是超级防弹的——这更多是为了防止意外损坏,而不是防止我的学生的恶意行为。

但是,我在学校的编程课程之外没有做过任何真正的 Java 工作,所以我不知道如何编写或激活策略文件。我可以使用什么简单的策略文件来实现这一点,以及在运行学生的代码时如何激活它?

0 投票
1 回答
235 浏览

java - 如何为每个正在执行的 java 程序强制执行安全策略

我如何为 JVM 指定将应用于其中执行的每个程序的安全策略。

0 投票
1 回答
1427 浏览

webgl - WebGL texImage2d:使用 rasterizeHTML.js 的 SECURITY_ERR

我正在使用 rasterizeHTML.js 创建一个表示网页 DOM 元素的画布(例如页面的屏幕截图),然后将其传递给 texImage2d,以便将此画布用作纹理。虽然它在 Firefox 21.0 中运行良好,但在其他浏览器(Chrome、Safari ..)中我收到以下错误:

有没有办法绕过安全策略?我想在本地使用它。我也尝试使用本地网络服务器(MAMP),因为我认为它可能是由于相同的来源策略,但错误是相同的......非常感谢!