我有一个Grails应用程序,需要访问Spring的AuthenticationManager / ProviderManager实例,以便我可以将它提供给我的RemoteAuthenticationProviderImpl实例。 我在我的ApiController.groovy中有以下代码,我想在其中验证远程客户端,这些客户端正在登录另一个Grails应用程序并发送回授权的权限。
def remoteAuthentication() {
def authHeader = request.getHeader('Authorization')
if (authHeader && apiService.validate(authHeader)) {
try {
def remoteAuthenticationManager = new RemoteAuthenticationManagerImpl()
def response = remoteAuthenticationManager.attemptAuthentication("admin", "password1")
} catch (Exception) {}
render response as JSON
}
response.status = 401
render(status: 401, text: 'Failed to authenticate.')
}
RemoteAuthenticationManagerImpl记录在案here。可以看出,我需要提供一个AuthenticationManager。我想我需要通过bean注入它,但是我不能让它工作。
答案 0 :(得分:0)
<ref bean="authenticationManager" />
代替sharedService
进入我的resources.xml。