我添加了cronjobs春季应用程序使用石英。春季石英工作 - 访问弹簧安全安全豆的方法
这些工作里面,我想从另一个应用程序访问spring-security secured bean方法。
这是我的应用程序结构。
| - 核心
| - webapp
| - jobs-app
webapp和jobsapp都使用核心服务。 jobsapp不是一个Web应用程序。它只是石英工作。
里面一个工作,如果我试图访问使用SpringSecurity全球方法的安全性我得到一个异常{org.springframework.security.AuthenticationCredentialsNotFoundException}"org.springframework.security.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext"
如果我设置使用SecurityContextHolder.getContext上下文()。setAuthentication到电力用户获得了豆, 有用。
但是,我必须为所有的工作做到这一点。
有没有一种方法可以让所有的工作runas特定用户?可能是某处的某种配置?
是啊我的作业直接访问服务bean。但是,我不能将它们移动到web层,因为如果它们在不同的包中,我使用osgi和注释不工作。 http://stackoverflow.com/questions/12158403将尝试第二种方法。感谢您的回应。 –