我有使用spring security插件开发的grails应用程序。现在我需要让它成为web服务,所以安装了xfire插件。现在我想要一个服务,它有一个带有参数用户名和密码的方法,然后需要调用登录控制器身份验证操作(spring security插件生成),现在该怎么做?可以从控制器调用服务,但如何从服务调用控制器操作?
提前感谢,Laxmi.p
你不应该从任何地方调用控制器动作——除了其他控制器动作。看到这个问题:Grails Invoke a controller method from a scheduled job
要以编程方式登录用户,您可以执行以下操作:
void login(String username, String password) {
def authToken = new UsernamePasswordAuthenticationToken(username, password)
def newauth = authenticationManager.authenticate(authToken)
SecurityContextHolder.getContext().setAuthentication(newauth)
}