以编程方式使用grails中的spring security登录用户并返回sessionId

时间:2013-04-24 16:48:07

标签: grails spring-security

我正在编写移动应用程序的Web服务。

申请必须是authenticité 实际上我的第一种方法是使用params在 j_spring_security_check 上发布帖子请求:

为j_username =名为myUsername

为j_password =输入mypassword

AJAX =真

通过在登录控制器中执行这些更改来获取sessionId

def ajaxSuccess = {     
    ....
    result.token  = springSecurityService.authentication.details.sessionId
    render( result as JSON)
}

有没有其他方法以编程方式进行身份验证并使用我自己的控制器返回sessionId,因此我可以自定义身份验证方法(例如,我想在登录时更新其他参数)

1 个答案:

答案 0 :(得分:0)

如果额外参数依赖于用户输入,您几乎肯定必须提供自定义登录。如果这些参数将与用户分开管理,我不明白为什么你不能通过填充自定义用户详细信息对象在控制器类中这样做。与此同时,您可以通过RequestContextHolder.currentRequestAttributes().getSessionId()获取会话ID(从here无耻地窃取)。