当前位置:  开发笔记 > 编程语言 > 正文

具有基本安全性的REST Web服务的Android客户端

如何解决《具有基本安全性的RESTWeb服务的Android客户端》经验,为你挑选了1个好方法。

我使用基本身份验证编写了一个简单的RESTful Web服务.我使用此页面中的提示secureRestWS.他们还创建了一个视频,并在youtube上发布了更多细节.在浏览器中打开它时,它可以正常工作.您需要在授权窗口中写入用户名和密码.

我还找到了一个带有android客户端的页面,该页面使用httpclient调用rest web服务,如果web服务没有认证,则可以正常工作.我正在使用这个示例androidRestWSClient.但我不知道如何在这种情况下添加用户名和密码,我尝试过:

client.AddParam("User Name", "myusername");
client.AddParam("Password", "mypassword");

或在标题中:

client.AddHeader("User Name", "myusername");
client.AddHeader("Password", "mypassword");

但没有任何作用.我还尝试创建告诉Web服务用户名和密码的URL,如:

http://192.168.1.42/RestWS/resources/helloWorld?username=myusername&password=mypassword

我真的没有这方面的解决方案,所以如果有人有一个示例客户我会很感激.

在webservice中,我有简单的GET方法

@GET
@Path("/text")
public String getText() {
    return "Hello World!";
}

我是否需要使用SecurityContext作为用户名和密码?是否更好地在此示例中手动创建身份验证:

http://aruld.info/accessing-restful-services-configured-with-ssl-using-resttemplate/

谢谢你的帮助



1> Kaediil..:

如果您只使用基本的http身份验证,那么URL应如下所示:

http://username:password@192.168.1.42/RestWS/resources/helloWorld

好吧,你走了:

HttpGet httpget;
try{
    httpget = new HttpGet(url); 

    String auth =new String(Base64.encode(( username + ":" + password).getBytes(),Base64.URL_SAFE|Base64.NO_WRAP));
    httpget.addHeader("Authorization", "Basic " + auth);
    }

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有