【发布时间】:2012-09-10 19:28:09
【问题描述】:
我使用石英将 cronjobs 添加到 spring 应用程序。
在这些工作中,我想从另一个应用程序访问 spring-security 安全 bean 方法。
这是我的应用程序结构。
| - 核心
| - 网络应用程序
| - 工作应用程序
webapp 和 jobsapp 都使用核心服务。 jobsapp 不是网络应用程序。它只是有石英工作。
如果我尝试访问使用 SpringSecurity global-method-security 保护的 bean,则在作业中会收到异常 {org.springframework.security.AuthenticationCredentialsNotFoundException}"org.springframework.security.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext"
如果我使用 SecurityContextHolder.getContext().setAuthentication 将上下文设置为高级用户,它会起作用。
但是,我必须为所有工作都这样做。
有没有办法让所有作业都以特定用户身份运行?可能是某处的一些配置?
【问题讨论】:
标签: spring-security quartz-scheduler