grails spring安全休息插件
Posted
技术标签:
【中文标题】grails spring安全休息插件【英文标题】:grails spring security rest plugin 【发布时间】:2014-06-30 12:47:52 【问题描述】:我正在尝试来自https://github.com/dmahapatro/grails-spring-security-rest-sample.git的restful spring security rest插件
我将 grails 升级到 2.3.7,将 spring security rest 升级到 1.3.4。一切顺利。
我正在使用邮递员来测试其余登录。
网址:http://localhost:8080/grails-spring-security-rest-sample/api/login
表单数据:用户名=用户,密码=通过
但总是返回错误代码 400 Bad Request。 配置或测试有问题吗?
谢谢, 迪丁
【问题讨论】:
当您应该将 xml 或 json 数据发布到端点时,您正在尝试发布表单数据。如果您使用 Chrome,则可以使用 Postman 之类的插件来测试 REST 端点。 对不起,我没有任何使用 jquery 的例子。 【参考方案1】:这是一个内容类型为 application/json 的 POST 请求。在调用/api/login的过程中再次参考开发工具,应该清楚了。
这是由插件提供的设置驱动的,如下所示:
grails.plugin.springsecurity.rest.login.useJsonCredentials = true
如果您希望将其作为 url 参数传递,请关闭上述(在应用程序中)。默认设置是使用请求 url 参数为:
//default is true
grails.plugin.springsecurity.rest.login.useRequestParamsCredentials = true
在这种情况下,请求可能如下所示:
http://localhost:8080/grails-spring-security-rest-sample/api/login?username=user&password=pass
用户名和密码的参数名称也可以通过这些设置自定义:
grails.plugin.springsecurity.rest.login.usernameParameter=customusername
grails.plugin.springsecurity.rest.login.passwordParameter=custompassword
【讨论】:
我想同时使用基于 json 和基于参数的 url 处理。在 config.groovy 我启用了两者。但我无法使用。 我认为你不能同时使用两者。我已经很久没有使用最新版本的插件了。但我们的想法是对/api/login
进行POST 或GET 调用,并分别进行相应的设置。对于插件的所有者来说,这是一个很好的问题,您可以在 github 中提问以上是关于grails spring安全休息插件的主要内容,如果未能解决你的问题,请参考以下文章
我如何在 grails 2.3.1 中使用控制器来休息 api?
获取'无法在grails Spring安全性休息中调用null对象上的方法loadUserByUsername()'