我正在暴露服务方法的控制器,并且服务接口具有@PreAuthorize检查,但是有时一个服务调用另一个服务,而我只想检查第一个服务的条件。
例如:
public interface UserService {
@PreAuthorize(/*Condition A*/)
public User getUser();
}
public interface PermissionService {
@PreAuthorize(/*Condition B*/)
public User getPermission();
}
UserService实现调用PermissionService的方法:
public class PermissionServiceImpl implements PermissionService {
public User getPermission() {
// ...
permissionService.getPermission();
// ...
}
}
是否仅当通过UserService的控制器调用UserService时才应用条件A,而通过其控制器的PermissionService调用条件B时才应用条件B?