Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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
哪些Java模块获得Spring安全性_Java_Security_Spring_Service_Dns - Fatal编程技术网

哪些Java模块获得Spring安全性

哪些Java模块获得Spring安全性,java,security,spring,service,dns,Java,Security,Spring,Service,Dns,我有一个典型的JavaSOA应用程序,其中包含一个WebUI模块、web服务模块、一个服务模块(JavaAPI)、一个域模块和一个持久性模块。从某种意义上说,这些模块中的每一个都有自己的公共API 我对Spring安全性的理解是,我可以使用web过滤器来处理web gui和web服务的安全性,以及服务模块的方法级安全性(通过注释) 我的问题是:我应该费心给域模块和持久化模块添加方法级安全性,还是认为这样做有点过分?如果保护外部API的安全,通常不需要保护其他内部层,例如域模型或DAO持久化层 但

我有一个典型的JavaSOA应用程序,其中包含一个WebUI模块、web服务模块、一个服务模块(JavaAPI)、一个域模块和一个持久性模块。从某种意义上说,这些模块中的每一个都有自己的公共API

我对Spring安全性的理解是,我可以使用web过滤器来处理web gui和web服务的安全性,以及服务模块的方法级安全性(通过注释)


我的问题是:我应该费心给域模块和持久化模块添加方法级安全性,还是认为这样做有点过分?

如果保护外部API的安全,通常不需要保护其他内部层,例如域模型或DAO持久化层


但这一切都取决于你的安全要求。在内部API的方法中添加安全角色将使其更加安全,并且可以被视为针对暴露API中的安全漏洞的良好防御实践。

哪些模块是用户使用应用程序的边界-web层?有没有直接使用JavaAPI或持久性的用户?没有。但我想我关心的是,理论上,人们可以为这些API编写Java客户机,并从自己的机器上运行它们。我们所需要的只是数据库凭证。听起来这是一个很好的做法,但可能有些过头了。考虑到计算开销,我倾向于不保护内部模块。当然,我关心的是,理论上,人们可以为这些API编写Java客户机,并从自己的机器上运行它。我们需要的只是数据库凭据。我同意,通常情况下,您不会保护内部API。数据库就是这样一个内部API,它不应该公开。因此,数据库端口永远不应该公开访问,并且应该位于防火墙后面。