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 spring安全休息超时的问题

我如何在 grails 2.3.1 中使用控制器来休息 api?

获取'无法在grails Spring安全性休息中调用null对象上的方法loadUserByUsername()'

Grails,从 Acegi 升级到 Spring 安全插件

Grails 3 Spring 安全插件

Groovy:使用 Grails 和 Spring 安全核心插件时出现意外令牌