0

我有使用spring security插件开发的grails应用程序。现在我需要让它成为web服务,所以安装了xfire插件。现在我想要一个服务,它有一个带有参数用户名和密码的方法,然后需要调用登录控制器身份验证操作(spring security插件生成),现在该怎么做?可以从控制器调用服务,但如何从服务调用控制器操作?

提前感谢,Laxmi.p

4

1 回答 1

1

你不应该从任何地方调用控制器动作——除了其他控制器动作。看到这个问题: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)
}
于 2011-08-11T11:56:21.967 回答