CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 441

441

Chương 11: Lập trình mạng

Cách tiếp cận mà bạn sử dụng tùy thuộc vào kiểu xác thực mà website sử dụng.

Nếu website sử dụng Basic authentication hay Digest authentication, bạn cần gửi kết
hợp username và password, bằng cách tạo một đối tượng

System.Net.

NetworkCredential

và gán nó vào thuộc tính

WebRequest.Credentials

.

Nếu website sử dụng Integrated Windows authentication, bạn thực hiện tương tự như
trên. Bạn có thể lấy các thông tin đăng nhập của người dùng hiện hành từ đối tượng

System.Net.CredentialCache

.

Nếu website đòi hỏi chứng chỉ, bạn cần nạp chứng chỉ từ một file bằng lớp

System.Security.Cryptography.X509Certificates.X509Certificate

, và thêm nó vào

tập hợp

HttpWebRequest.ClientCertificates

.

Dưới đây là đoạn mã ví dụ cho cả ba cách tiếp cận trên:

using System;

using System.Net;

using System.Security.Cryptography.X509Certificates;

public class DownloadWithAuthentication {

private static void Main() {

string uriBasic, uriIntegrated, uriCertificate;

// Xác thực username và password với Basic authentication.

WebRequest requestA = WebRequest.Create(uriBasic);

requestA.Credentials =

new NetworkCredential("userName", "password");

requestA.PreAuthenticate = true;

// Đăng nhập người dùng hiện hành với

// Integrated Windows authentication.

WebRequest requestB = WebRequest.Create(uriIntegrated);

requestB.Credentials = CredentialCache.DefaultCredentials;

requestB.PreAuthenticate = true;

// Xác thực người dùng bằng chữ ký điện tử.

HttpWebRequest requestC = (HttpWebRequest)

WebRequest.Create(uriCertificate);

X509Certificate cert =

X509Certificate.CreateFromCertFile(@"c:\user.cer");

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.