脚本级别使用Acegi安全性登录Grails应用程序

时间:2010-02-05 22:37:02

标签: security grails curl scripting spring-security

场景:我有一个使用Acegi安全性进行身份验证的Grails应用程序。我正在应用程序中实现REST服务端点,并希望能够使用shell脚本与服务端点进行GET和POST。

我一直在尝试使用curl来执行此操作,但无法找到正确的参数组合以使curl命令登录到Grails应用程序;每当我尝试GET或POST时,我都会不断收到登录页面。

我知道我可以更改Grails应用安全设置以打开特定的服务端点URL,这样它们就不需要身份验证,但我宁愿不这样做;有谁知道如何使用curl或其他方法进行身份验证?

1 个答案:

答案 0 :(得分:2)

您的登录网址为'/ j_spring_security_check',用户名字段为“j_username”,密码字段为“j_password”。您将需要修改Login控制器的索引方法,以允许您重定向到目标URL。类似的东西:

def index = {
  if (isLoggedIn() && params.redirectUri)
      redirect(uri: redirectUri, params: params)        
  }
  ...
}