3
我有一个弹簧服务层与@PreAuthorize
注释安全。到目前为止,这已通过Web应用程序使用。现在我需要启用我们的SpringBatch作业来使用这些服务。使用弹簧安全与弹簧批
在调用这些服务方法之前,允许作业授权他们的最直接的方法是什么?
我有一个弹簧服务层与@PreAuthorize
注释安全。到目前为止,这已通过Web应用程序使用。现在我需要启用我们的SpringBatch作业来使用这些服务。使用弹簧安全与弹簧批
在调用这些服务方法之前,允许作业授权他们的最直接的方法是什么?
我有同样的问题,这里是我做过什么来解决这个问题:
在我的微进程,我称这种方法:
securityUtility.authenticateAs("login", "password");
这是写在我的authenticateAs方法的定义我SecurityUtility类在我的微进程注入,实现了ApplicationContextAware:
/**
* Authenticate a user
* @param username
* @param password
* @return
*/
public Authentication authenticateAs(String username, String password) {
ProviderManager providerManager = (ProviderManager)applicationContext.getBean("authenticationManager");
Authentication authentication = providerManager.authenticate(new UsernamePasswordAuthenticationToken(username, password));
setAuthentication(authentication);
return authentication;
}
它运作良好,让我知道,如果你需要更多的细节;)
是的,这与我最终解决我的问题的方式非常相似,只是一个简单的自定义任务进行身份验证。唯一令人讨厌的是Spring Security似乎对Spring web有一些依赖性,所以我必须将Spring Web组件包含到我的构建中以避免有关缺少过滤器的警告。 – vertti