java Spring security@PreAuthorize(“hasAnyRole(“…”))
我正在使用spring security@PreAuthorise检查谁和谁不能访问我的服务层中的方法。它运行得非常好。通常我的服务方法都带有注释
@PreAuthorize("hasAnyRole('MY_USER_ROLE')")
我的问题是我有一个由几个jar文件组成的war文件。每个jar文件都负责一段业务逻辑。现在我想让一个jar文件中的一个服务访问另一个jar文件中的另一个服务。由于权限问题,此操作将被拒绝。如果我对许可进行了注释,那么一切都正常
在调用此服务之前,我是否可以通过spring进行身份验证?(可能是一个虚拟用户?)或者关闭同一应用程序中JAR的安全性?还是我的设计错了
还有谁有这种问题吗?我应该使用什么样的设计
# 1 楼答案
您需要为调用服务的线程(在另一个jar中)提供
@PreAuthorize
(对于被调用的服务)所需的权限如果线程是由用户请求在web应用程序中触发的,那么这通常是用户权限
但是,如果线程是由某个计时器服务触发的,那么您需要为它们提供正确的身份验证