我需要向基于常规网络的Grails应用程序托管的Web服务提交一个简单而独特的请求,该应用程序使用Spring Security插件进行保护。我的请求应该如下:
curl -F username=john password=mypass message="Hello World" http://localhost:8080/myapp/restapi/echo
没有工作流程,只是一个独特的请求,我已经完成了。
我有一个简单的安全控制器来响应这个请求,如下所示:
@Secured(["ROLE_REST_CLIENT"])
class RestapiController {
def echo() {
respond params.message
}
}
这里的问题是Spring安全默认行为是将任何新请求重定向到登录页面。如何更改它,在http参数中搜索用户名和密码,注册用户并继续执行所请求的控制器操作,所有操作都在同一个唯一的无状态请求中?
我看了一下Spring Security REST Plugin但它的目的是提供一个基于令牌的工作流程,而这正是我所需要的。 (我也希望对这种工作流程方法作为可选解决方案提供一些指导)