Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将Spring Security的AOP与Java安全管理器合并?_Java_Spring_Security_Spring Aop_Securitymanager - Fatal编程技术网

是否可以将Spring Security的AOP与Java安全管理器合并?

是否可以将Spring Security的AOP与Java安全管理器合并?,java,spring,security,spring-aop,securitymanager,Java,Spring,Security,Spring Aop,Securitymanager,有一个基于Swing的多层Java应用程序,每个模块都有其后端和前端 现在,我们想使用Spring security添加安全性。由于AspectJ的开销,我们决定不使用它 是否有可能以某种方式将Spring方法调用授权注入Java Security Manager,以便后端中的每个方法调用都被基于注释的Spring安全模型拦截(或委托给) 注: 应用程序包含大量的包,并且使用新操作符或反射技术实例化对象。不可能修改所有实例化并将所有对象更改为Springbean。Java安全管理器拦截所有方法调

有一个基于Swing的多层Java应用程序,每个模块都有其后端和前端

现在,我们想使用Spring security添加安全性。由于AspectJ的开销,我们决定不使用它

是否有可能以某种方式将Spring方法调用授权注入Java Security Manager,以便后端中的每个方法调用都被基于注释的Spring安全模型拦截(或委托给)

注:


应用程序包含大量的包,并且使用新操作符或反射技术实例化对象。不可能修改所有实例化并将所有对象更改为Springbean。Java安全管理器拦截所有方法调用,而不管对象是如何构造的。这就是我们需要以某种方式将Spring安全方法授权注入Java Security Manager的原因。

使用Spring AOP不需要AspectJ,因此只要使用Spring配置应用程序,使用本机JDK支持应该不会有问题(这是默认的)。我不确定你是否尝试过,但它对你不起作用,所以也许问题中的一些更具体的信息会对你有所帮助

Java安全管理器可能是一个不必要的干扰,但如果您能更详细地解释一下您打算用它做什么,可能也会有所帮助


顺便说一句,我不确定您在AspectJ中提到的开销是多少,但是如果您认为这很重要,我建议您首先进行测试,因为对于大多数应用程序来说,在运行时这肯定没有什么大的区别。它甚至可以比其他方法更快。

应用程序包含大量的包,并且使用
new
操作符或反射技术实例化对象。不可能修改所有实例化并将所有对象更改为Springbean。我们认为Java安全管理器会拦截所有方法调用,而不管对象是如何构造的。这就是我们需要以某种方式将Spring安全性注入Java安全管理器的原因。据我所知,Java SecurityManager在很大程度上是API设计者的一种选择——它不是一种面向方面的编程模型,如果您想添加未烘焙到JDK库中的规则,则必须在应用程序代码中显式调用它。因此,在这一点上,您的最佳选择肯定是AspectJ。现在使用可用的工具应该是一次很好的体验。