2011-12-21 75 views

回答

2

本身,spring-security-core插件没有用于执行AJAX登录的UI逻辑。我会假设你也使用了spring-security-ui插件。

如果您运行的是s2-quickstart,您将在grails-app/controllers中有LoginController。当AJAX登录成功时,ajaxSuccess动作被调用。默认的实现看起来是这样的:

def ajaxSuccess = { 
    render([success: true, username: springSecurityService.authentication.name] 
      as JSON) 
} 

如果您在ajaxLogin.jsspring-security-ui AJAX登录支持仔细一看,你会看到JSON响应可以包括重定向URL的值。默认实现不提供,但很容易添加。只需更新ajaxSuccess看起来像这样:

def ajaxSuccess = { 
    render([success: true, username: springSecurityService.authentication.name, 
      url: '/defaultLoginPage'] as JSON) 
}