2011-12-06 34 views
5

Tôi đã viết một dịch vụ web RESTful đơn giản sử dụng xác thực cơ bản.Tôi sử dụng các mẹo từ trang này secureRestWS. Họ cũng đã tạo một video và đăng trên youtube với nhiều chi tiết hơn. Nó hoạt động tốt khi bạn mở nó trong trình duyệt. Bạn cần phải viết Tên người dùng và Mật khẩu trong cửa sổ ủy quyền.Ứng dụng khách Android cho dịch vụ web REST với bảo mật cơ bản

Tôi cũng tìm thấy trang có ứng dụng khách Android gọi dịch vụ web còn lại bằng cách sử dụng httpclient và nếu dịch vụ web không có xác thực thì nó hoạt động. Tôi đang sử dụng ví dụ này androidRestWSClient. Nhưng tôi don `t biết làm thế nào để thêm Tên tài khoản và mật khẩu trong trường hợp này, tôi đã cố gắng như:

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

hoặc tiêu đề:

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

nhưng không hoạt động. Tôi cũng cố gắng tạo url cho tên người dùng và mật khẩu dịch vụ web như:

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

Tôi thực sự không có giải pháp cho điều này vì vậy nếu ai đó có ứng dụng mẫu, tôi sẽ đánh giá cao điều đó.

Trong webservice tôi có phương thức GET đơn giản

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

Tôi có cần phải sử dụng SecurityContext cho tên người dùng và mật khẩu? Là nó tốt hơn để tạo ra xác thực manualy như trong ví dụ này:

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

Nhờ sự giúp đỡ của bạn

Trả lời

12

Nếu bạn đang sử dụng xác thực http chỉ là cơ bản, thì URL sẽ trông như thế này:

http://username:[email protected]/RestWS/resources/helloWorld 

Vâng, ở đây bạn đi - và không quên Upvote và đánh dấu là trả lời nếu điều này hoạt động :):

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); 
    } 
+0

Vì tạo url này hoạt động cho tôi, vì vậy cảm ơn, có thể ai đó sẽ trả lời câu hỏi đầu tiên về cách thêm tên người dùng và mật khẩu trong ứng dụng khách hoặc tôi chỉ sử dụng liên kết trong ứng dụng ... Cảm ơn – janilemy

+0

Điều này phù hợp với tôi, tôi đã tìm thấy nó trên trang khác, nhưng không thể trả lời câu hỏi của riêng tôi trong 8 giờ ... Nhưng bây giờ mọi thứ đều ổn, Cảm ơn bạn đã giúp đỡ Kaediil ... – janilemy

Các vấn đề liên quan