ASP và Windows Form Microsoft ASP.NET phần 3
Số trang: 9
Loại file: pdf
Dung lượng: 173.96 KB
Lượt xem: 3
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bạn cần ngăn người dùng truy xuất các trang nào đó trừ khi họ tự xác thực trước với một trang đăng nhập tùy biến. Hiện thực Forms authentication bằng cách cấu hình thẻ trong file Web.config của ứng dụng
Nội dung trích xuất từ tài liệu:
ASP và Windows Form Microsoft ASP.NET phần 3 1.1 Sử dụng Forms authentication Bạn cần ngăn người dùng truy xuất các trang nào đó trừ khi họ tự xác thực trước với một trang đăng nhập tùy biến. Hiện thực Forms authentication bằng cách cấu hình thẻ trong file Web.config của ứng dụng. Bạn phải tạo trang đăng nhập, nhưng ASP.NET sẽ giữ lại trạng thái xác thực của người dùng.Forms authentication là một mô hình bảo mật linh hoạt, cho phép ngăn người dùng chưađược xác thực truy xuất vào trang nào đó. Bạn cần viết mã để thực hiện xác thực, vàASP.NET cấp một cookie cho người dùng đã được xác thực. Người dùng không có cookiesẽ bị chuyển hướng sang trang đăng nhập khi truy xuất một trang được bảo vệ.Để hiện thực Forms authentication, bạn phải thực hiện các bước sau đây: • Cấu hình Forms authentication bằng thẻ trong file Web.config của ứng dụng. • Sử dụng các thiết lập trong file Web.config để hạn chế người dùng nặc danh truy xuất vào một trang hoặc thư mục cụ thể. • Tạo trang đăng nhập, và thêm logic xác thực của bạn vào (sử dụng lớp FormsAuthentication thuộc không gian tên System.Web.Security).Bước đầu tiên là cấu hình file Web.config trong thư mục gốc của ứng dụng để kích hoạtForms authentication, như được trình bày trong đoạn mã dưới đây. Bạn cũng cần chỉđịnh trang đăng nhập tùy biến (người dùng chưa được xác thực sẽ bị chuyển hướng sangtrang này) và thời gian trễ (sau thời gian này, cookie sẽ bị loại bỏ). Authentication cookietự động được làm mới với mỗi yêu cầu web. Kế đến, bạn cần thêm quy tắc phân quyền để từ chối người dùng nặc danh. Cách dễ nhấtđể bảo toàn các trang là tạo một thư mục con cùng với file Web.config của nó. FileWeb.config này sẽ từ chối việc truy xuất của các người dùng nặc danh, như được trìnhbày dưới đây: Bây giờ, ASP.NET sẽ tự động gửi các yêu cầu chưa được xác thực (đối với các trangtrong thư mục con) đến trang đăng nhập tùy biến.Một tùy chọn khác không cho truy xuất đến các trang cụ thể trong thư mục hiện thời là sửdụng thẻ : Bạn cũng có thể từ chối các người dùng cụ thể bằng cách nhập danh sách tên người dùng(phân cách bằng dấu phẩy) thay vào ký tự “?” (“?” nghĩa là “tất cả các người dùng nặcdanh”).Kế tiếp, bạn cần tạo trang đăng nhập. Trang đăng nhập có thể xác thực người dùng bằngpassword được viết cứng (phù hợp cho các thử nghiệm đơn giản), cơ sở dữ liệu phíaserver, hoặc bất kỳ kiểu logic xác thực tùy biến nào. Một khi người dùng đã được xácthực thành công, bạn cần gọi phương thức tĩnhFormsAuthentication.RedirectFromLoginPage. Phương thức này sẽ thiết lậpauthentication cookie và chuyển hướng người dùng đến trang được yêu cầu lúc đầu.Dưới đây là trang đăng nhập sơ bộ, chỉ kiểm tra một password cụ thể khi người dùngnhắp vào nút Login:using System;using System.Web;using System.Web.UI.WebControls;using System.Web.Security;public class LoginPage : System.Web.UI.Page { protected System.Web.UI.WebControls.Label lblStatus; protected System.Web.UI.WebControls.Button cmdLogin; protected System.Web.UI.WebControls.TextBox txtPassword; protected System.Web.UI.WebControls.TextBox txtName; // (Bỏ qua phần mã designer.) private void cmdLogin_Click(object sender, System.EventArgs e){ if (txtPassword.Text.ToLower() == secret) { FormsAuthentication.RedirectFromLoginPage( txtName.Text, false); }else { lblStatus.Text = Try again.; } }}Để thử nghiệm trang đăng nhập trên, bạn hãy yêu cầu trang SecurePage.aspx (nằm trongthư mục Secured). Bạn sẽ bị chuyển hướng sang trang login.aspx, và nếu nhập đúngpassword, bạn sẽ được trả về trang SecurePage.aspx. The image part with relationship ID rId5 was not found in the file. Hình 7.7 Trang đăng nhập tùy biến 1.2 Thực hiện xác nhận tính hợp lệ có-chọn-lựa Bạn cần sử dụng các điều kiểm validator của ASP.NET. Tuy nhiên, bạn muốn kiểm tra bằng mã lệnh để có thể xác nhận tính hợp lệ chỉ các điều kiểm hay tập các điều kiểm nào đó, hoặc có thể tùy biến các thông báo lỗi dựa trên đầu vào không hợp lệ. Vô hiệu thuộc tính EnableClientScript của mọi điều kiểm validator để trang có thể được post-back. Kế đó, sử dụng phương thức Page.Validate để xác nhận tính hợp lệ của trang hoặc phương thức BaseValidator.Validate để xác nhận tính hợp lệ của từng điều kiểm riêng rẽ.Điều kiểm validator của ASP.NET là giải pháp lý tưởng để xác nhận tính hợp lệ của formmột cách nhanh chóng. Với điều kiểm validator, bạn có thể xác nhận tính hợp lệ của toànbộ trang cùng một lúc. Nếu muốn xác nhận tính hợp lệ chỉ một phần form, hoặc muốnquyết định xem có cần xác định tính hợp lệ một điều kiểm nào đó hay không (dựa trêngiá trị của một điều kiểm khác chẳng hạn), bạn sẽ cần thực hiện thao tác xác nhận tínhhợp lệ có-chọn-lựa.Bước đầu tiên trong thao tác này là vô hiệu thuộc tính EnableClientScript của mọi điềukiểm validator trên trang. Nếu không, việc kiểm tra sẽ được thực hiện tại client thông quaJavaScript, trang sẽ không được post-back nếu nó chứa các giá trị không hợp lệ, và phầnmã thụ lý sự kiện sẽ không được thực thi. Một khi đã thực hiện thay đổi này, bạn có thểxác nhận tính hợp lệ từng điều kiểm một bằng phương thức BaseValidator.Validate, hoặcxác nhận tính hợp lệ toàn bộ trang bằng phương thức Page.Validate.Ví dụ dưới đây thực hiện kiểm tra phía server với hai validator: RangeValidator vàRegularExpressionValidator (xác nhận tính hợp lệ một địa chỉ e-mail). Nếu kiểm tra thấtbại, đoạn mã này sẽ duyệt qua tập hợp các validator trên form bằng thuộc tínhPage.Validators. Mỗi khi tìm thấy một v ...
Nội dung trích xuất từ tài liệu:
ASP và Windows Form Microsoft ASP.NET phần 3 1.1 Sử dụng Forms authentication Bạn cần ngăn người dùng truy xuất các trang nào đó trừ khi họ tự xác thực trước với một trang đăng nhập tùy biến. Hiện thực Forms authentication bằng cách cấu hình thẻ trong file Web.config của ứng dụng. Bạn phải tạo trang đăng nhập, nhưng ASP.NET sẽ giữ lại trạng thái xác thực của người dùng.Forms authentication là một mô hình bảo mật linh hoạt, cho phép ngăn người dùng chưađược xác thực truy xuất vào trang nào đó. Bạn cần viết mã để thực hiện xác thực, vàASP.NET cấp một cookie cho người dùng đã được xác thực. Người dùng không có cookiesẽ bị chuyển hướng sang trang đăng nhập khi truy xuất một trang được bảo vệ.Để hiện thực Forms authentication, bạn phải thực hiện các bước sau đây: • Cấu hình Forms authentication bằng thẻ trong file Web.config của ứng dụng. • Sử dụng các thiết lập trong file Web.config để hạn chế người dùng nặc danh truy xuất vào một trang hoặc thư mục cụ thể. • Tạo trang đăng nhập, và thêm logic xác thực của bạn vào (sử dụng lớp FormsAuthentication thuộc không gian tên System.Web.Security).Bước đầu tiên là cấu hình file Web.config trong thư mục gốc của ứng dụng để kích hoạtForms authentication, như được trình bày trong đoạn mã dưới đây. Bạn cũng cần chỉđịnh trang đăng nhập tùy biến (người dùng chưa được xác thực sẽ bị chuyển hướng sangtrang này) và thời gian trễ (sau thời gian này, cookie sẽ bị loại bỏ). Authentication cookietự động được làm mới với mỗi yêu cầu web. Kế đến, bạn cần thêm quy tắc phân quyền để từ chối người dùng nặc danh. Cách dễ nhấtđể bảo toàn các trang là tạo một thư mục con cùng với file Web.config của nó. FileWeb.config này sẽ từ chối việc truy xuất của các người dùng nặc danh, như được trìnhbày dưới đây: Bây giờ, ASP.NET sẽ tự động gửi các yêu cầu chưa được xác thực (đối với các trangtrong thư mục con) đến trang đăng nhập tùy biến.Một tùy chọn khác không cho truy xuất đến các trang cụ thể trong thư mục hiện thời là sửdụng thẻ : Bạn cũng có thể từ chối các người dùng cụ thể bằng cách nhập danh sách tên người dùng(phân cách bằng dấu phẩy) thay vào ký tự “?” (“?” nghĩa là “tất cả các người dùng nặcdanh”).Kế tiếp, bạn cần tạo trang đăng nhập. Trang đăng nhập có thể xác thực người dùng bằngpassword được viết cứng (phù hợp cho các thử nghiệm đơn giản), cơ sở dữ liệu phíaserver, hoặc bất kỳ kiểu logic xác thực tùy biến nào. Một khi người dùng đã được xácthực thành công, bạn cần gọi phương thức tĩnhFormsAuthentication.RedirectFromLoginPage. Phương thức này sẽ thiết lậpauthentication cookie và chuyển hướng người dùng đến trang được yêu cầu lúc đầu.Dưới đây là trang đăng nhập sơ bộ, chỉ kiểm tra một password cụ thể khi người dùngnhắp vào nút Login:using System;using System.Web;using System.Web.UI.WebControls;using System.Web.Security;public class LoginPage : System.Web.UI.Page { protected System.Web.UI.WebControls.Label lblStatus; protected System.Web.UI.WebControls.Button cmdLogin; protected System.Web.UI.WebControls.TextBox txtPassword; protected System.Web.UI.WebControls.TextBox txtName; // (Bỏ qua phần mã designer.) private void cmdLogin_Click(object sender, System.EventArgs e){ if (txtPassword.Text.ToLower() == secret) { FormsAuthentication.RedirectFromLoginPage( txtName.Text, false); }else { lblStatus.Text = Try again.; } }}Để thử nghiệm trang đăng nhập trên, bạn hãy yêu cầu trang SecurePage.aspx (nằm trongthư mục Secured). Bạn sẽ bị chuyển hướng sang trang login.aspx, và nếu nhập đúngpassword, bạn sẽ được trả về trang SecurePage.aspx. The image part with relationship ID rId5 was not found in the file. Hình 7.7 Trang đăng nhập tùy biến 1.2 Thực hiện xác nhận tính hợp lệ có-chọn-lựa Bạn cần sử dụng các điều kiểm validator của ASP.NET. Tuy nhiên, bạn muốn kiểm tra bằng mã lệnh để có thể xác nhận tính hợp lệ chỉ các điều kiểm hay tập các điều kiểm nào đó, hoặc có thể tùy biến các thông báo lỗi dựa trên đầu vào không hợp lệ. Vô hiệu thuộc tính EnableClientScript của mọi điều kiểm validator để trang có thể được post-back. Kế đó, sử dụng phương thức Page.Validate để xác nhận tính hợp lệ của trang hoặc phương thức BaseValidator.Validate để xác nhận tính hợp lệ của từng điều kiểm riêng rẽ.Điều kiểm validator của ASP.NET là giải pháp lý tưởng để xác nhận tính hợp lệ của formmột cách nhanh chóng. Với điều kiểm validator, bạn có thể xác nhận tính hợp lệ của toànbộ trang cùng một lúc. Nếu muốn xác nhận tính hợp lệ chỉ một phần form, hoặc muốnquyết định xem có cần xác định tính hợp lệ một điều kiểm nào đó hay không (dựa trêngiá trị của một điều kiểm khác chẳng hạn), bạn sẽ cần thực hiện thao tác xác nhận tínhhợp lệ có-chọn-lựa.Bước đầu tiên trong thao tác này là vô hiệu thuộc tính EnableClientScript của mọi điềukiểm validator trên trang. Nếu không, việc kiểm tra sẽ được thực hiện tại client thông quaJavaScript, trang sẽ không được post-back nếu nó chứa các giá trị không hợp lệ, và phầnmã thụ lý sự kiện sẽ không được thực thi. Một khi đã thực hiện thay đổi này, bạn có thểxác nhận tính hợp lệ từng điều kiểm một bằng phương thức BaseValidator.Validate, hoặcxác nhận tính hợp lệ toàn bộ trang bằng phương thức Page.Validate.Ví dụ dưới đây thực hiện kiểm tra phía server với hai validator: RangeValidator vàRegularExpressionValidator (xác nhận tính hợp lệ một địa chỉ e-mail). Nếu kiểm tra thấtbại, đoạn mã này sẽ duyệt qua tập hợp các validator trên form bằng thuộc tínhPage.Validators. Mỗi khi tìm thấy một v ...
Tìm kiếm theo từ khóa liên quan:
công nghệ thông tin kĩ thuật lập trình ngôn ngữ lập trình ngôn ngữ C# C# ASP và Windows Form Microsoft ASP.NET phần 3Tài liệu liên quan:
-
52 trang 438 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 326 0 0 -
74 trang 307 0 0
-
96 trang 304 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 295 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 291 1 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 290 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 282 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 278 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 278 0 0