Bài giảng Forms Authentication - Nguyễn Hà Giang

pptx 25 trang huongle 2660
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Forms Authentication - Nguyễn Hà Giang", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_forms_authentication_nguyen_ha_giang.pptx

Nội dung text: Bài giảng Forms Authentication - Nguyễn Hà Giang

  1. 1 Forms Authentication Nguyễn Hà Giang Nguyen Ha Giang
  2. Nội dung 2  Forms Authentication?  Cách thức thực thi  Demo minh họa. Nguyen Ha Giang
  3. Authentication 3  Việc sử dụng chức năng login rất thường phổ biến trong ứng dụng web.  Hạn chế user truy cập vào vùng secure  User đã đăng ký mới có quyền sử dụng các chức năng ◼ Post bài, download, comment  Xây dựng ứng dụng web với chức năng login cũng không quá khó khăn.  Từ việc cho phép user truy cập một trang nào đó, hoặc những chỉ những chức năng nào đó của một trang web Nguyen Ha Giang
  4. Authentication 4  Giao tiếp giữa trang web và user Web App Admin page Users Public page Nguyen Ha Giang
  5. Authentication 5  Các chức năng Authentication được ASP.NET hỗ trợ.  Forms Authentication thường được đề cập do tính tiện dụng của nó.  Forms Authentication cho phép developer lưu trữ thông tin xác thực như username, pass trong file web.config, hoặc trong database, XML file, text file  Điều quan trọng là form authentication sẽ làm những công việc state-tracking cho developer. Nguyen Ha Giang
  6. Authentication 6  Forms Authentication sử dụng cookie cho phép ứng dụng tracking user qua những lần request.  Cách xử lý của Forms Authentication cũng tương tự như cách xử lý trong ASP.  Khi user login thông qua form authentication  Cookie được tạo ra để tracking user xuyên suốt ứng dụng  Nếu user yêu cầu một trang secure và chưa login, sẽ được redirect đến Login page  Một khi user đã thành công việc xác nhận, user sẽ được chuyển đến trang request. Nguyen Ha Giang
  7. Authentication 7 Nguyen Ha Giang
  8. Cài đặt form authentication cơ bản 8  Trang login.aspx, web.config và các trang aspx khác  Forms Authentication tiêu chuẩn sẽ chứa tất cả thông tin của user trong web.config. Web.config Authentication Thuộc tính Mô tả Name Tên của cookie sử dụng form authentication LoginUrl URL khi user chưa đăng nhập sẽ được gởi đến DefaultUrl Trang mặc định chuyển đến sau khi sign in Timeout Thời gian để cookie hết hạn Nguyen Ha Giang
  9. Cài đặt form authentication cơ bản 9  Cấu hình Web.config Web.config Credential Thuộc tính Mô tả PasswordFormat Định dạng cho password: clear, SHA1, MD5 User Lưu trữ thông tin về user name & pass Authorization Deny | Allow Từ chối hoặc cho phép truy cập trang nào đó Nguyen Ha Giang
  10. Cài đặt form authentication cơ bản 10 Web.Config Từ chối anonymous truy cập Nguyen Ha Giang
  11. Cài đặt form authentication cơ bản 11  Mã hóa chuỗi password trong credential. Nguyen Ha Giang
  12. Minh họa sử dụng Forms Authen 12  Tạo một ứng dụng Web App đơn giản minh họa sử dụng Forms Authentication  Trang Login.aspx: để đăng nhập  Trang SecurePage.aspx: là trang được bảo vệ, chỉ có user có quyền mới có thể vào được.  File cấu hình Web.config để cấu hình Forms Authentication. Nguyen Ha Giang
  13. Minh họa sử dụng Forms Authen 13  Trang login.aspx protected void btnLogin_Click(object sender, EventArgs e) { if ( FormsAuthentication.Authenticate(txtUserName.Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, true); else // hiển thị lên label của login page lblInfo.Text = "Đăng nhập không thành công!"; } Nguyen Ha Giang
  14. Minh họa sử dụng Forms Authen 14  Trang SecurePage.aspx  Hiển thị thông tin user đăng nhập, chức năng logout. LoginName LoginStatus Sử dụng hai control LoginName và LoginStatus Nguyen Ha Giang
  15. Minh họa sử dụng Forms Authen 15  File cấu hình Web.config Nguyen Ha Giang
  16. Minh họa sử dụng Forms Authen 16  Chạy thử nghiệm: truy cập URL của trang SecurePage Nguyen Ha Giang
  17. Minh họa 2 17  Trong minh họa 1:  Thông tin username, password được lưu trong file web.config (đôi khi bất tiện!)  Tất cả các trang của ứng dụng đều phải yêu cầu đăng nhập  Minh họa 2:  Thông tin username, password lưu bên ngoài file config.  Không phải toàn bộ các trang đều yêu cầu đăng nhập! Nguyen Ha Giang
  18. Minh họa 2 18  Tạo các trang  Index.aspx  Login.aspx  SecurePage.aspx  publicPage.aspx  Web.config Nguyen Ha Giang
  19. Minh họa 2 19  Tạo trang login.aspx protected bool CheckUser(string user, string pass) { // phần check user này ta có thể truy xuất database, // file xml, file text để lấy thông tin account. //Phần demo nên ta hardcode :D luôn! Lưu ý: Hàm CheckUser if (user == "giang" && pass == "giang123") thực tế sẽ kiểm tra thông return true; return false; tin đăng nhập từ DB hoặc } file bên ngoài protected void btnLogin_Click(object sender, EventArgs e) { if ( CheckUser( txtUserName.Text, txtPassword.Text) ) FormsAuthentication.RedirectFromLoginPage( txtUserName.Text, true ); else lblInfo.Text = "Đăng nhập không thành công!"; } Nguyen Ha Giang
  20. Minh họa 2 20  Phần trang SecurePage.aspx tương tự minh họa 1  Tạo page mới đặt tên PublicPage.aspx  Trang này chỉ chứa dòng thông báo là “Trang public” Trang này được bảo vệ Nguyen Ha Giang
  21. Minh họa 2 21  Phần cấu hình config. Nguyen Ha Giang
  22. Minh họa 2 22  Tạo trang index.aspx  Trang này chứa các link đến 2 trang ◼ SecurePage.aspx ◼ Public.aspx. Index.aspx Nguyen Ha Giang
  23. Minh họa 2 23  Chạy thử nghiệm Nguyen Ha Giang
  24. Tóm tắt 24  Tìm hiểu được cơ chế Authentication dạng Forms  Cấu hình file Web.config để lưu thông tin  Authentication  Username, password  Authorization  Minh họa được cách thức sử dụng được authentication trong ứng dụng ASP.NET  Thực thi các trang yêu cầu authentication và các trang không cần authentication Nguyen Ha Giang
  25. Bài tập 25  Sinh viên làm lại bài minh họa 2 với thông tin account được lưu trong cơ sở dữ liệu SQL Server.  Bổ sung phần Authentication cho các ứng dụng ASP.NET mà bạn đã viết trước đây. Nguyen Ha Giang