我正在使用Spring Security在Grails应用程序中托管REST Web服务,即:
@Secured(['IS_AUTHENTICATED_REMEMBERED'])
def save = {
println "Save Ride REST WebMethod called"
}
我是从Android应用程式呼叫它。(调用不安全的服务就可以了。)
为了调用该服务,我正在手动建立一个request(HttpUriRequest
)并使用来执行它HttpClient
。
我想知道最佳实践是什么,以及如何实施它们……具体来说,我应该:
我想我可以使选项1正常工作,但是不确定Spring Security是否允许(2),如果那样的话……谢谢!
-而且,我没有任何图书馆可以为我完成所有这些工作?:)
Spring Security 确实支持基本身份验证和基于表单的身份验证(在URL中包含用户名/密码)。
REST服务通常在每个请求中都通过身份验证,通常不是通过会话进行身份验证。默认的spring安全认证(假设您在3.x上)应查找基本认证参数或表单参数(j_username和j_password)(形式为http://you.com/rest_service?j_username=xyz&j_password=abc)。
手动将j_username / j_password附加到URL上,将它们添加为post参数(我相信),或者设置基本身份验证用户名/密码都可以立即对默认的Spring Security拦截器进行REST服务身份验证。
我承认,我还没有在REST服务上尝试过此方法,尽管我确实清楚地记得在文档中准确地阅读了此内容,就像我最近在Spring Security上对基本页面登录所做的一样。免责声明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句