- ASP.NET Identity là 1 công nghệ ra đời sau ASP.NET Membership vốn đã khá quen thuộc với các tín đồ của ASP.NET trong bài toán xác thực và phân quyền người dùng trên website. ASP.NET Identity khắc phục một số yếu điểm của ASP.NET Membership và bổ sung thêm nhiều tính năng hấp dẫn để bắt kịp xu thế như hỗ trợ đăng nhập qua mạng xã hội, đăng nhập thông qua 2 bước, gửi mail xác nhận khi đăng ký ...
- Cấu trúc tổ chức thư mục của ASP.NET Identity
App_Start/IdentityConfig.cs: chứa các lệnh để cấu hình ASP.NET Identity
Hình 43. Danh sách các directive cơ bản
Hình 44. Các table của ASP.NET IdentityHình 45. Danh sách các directive cơ bản
30
Controller/AccountController: controller chứa các action method có tác dụng xác thực người dùng như Login, Register, ForgotPassword, ... Controller/ManageController: controller chứa các action method có tác
dụng quản lý user (khi user đã login vào web) như ChangePassword, SetPassword, ...
Model/AccountViewModels: chứa các View Model hiển thị trong các view của AccountController
Model/ManageViewModels: chứa các View Model hiển thị trong các view của ManageController
Model/IdentityModels: chứa class ApplicationUser để quản lý thông tin user và class ApplicationDbContext để quản lý kết nối với database ở dạng Entity Framework Code First.
- Một số thuộc tính ràng buộc
RequiredLength: độ dài tối thiểu của password
RequireNonLetterOrDigit: bắt buộc password chứa ký tự đặc biệt hoặc ký tự số
RequireDigit: bắt buộc chứa ký tự số
RequireLowercase: bắt buộc chứa ký tự in thường
RequireUppercase: bắt buộc chứa ký tự in HOA
- Khi cấu hình chuỗi kết nối (connectionString) trong file Web.config của project ASP.NET MVC 5 thì Visual Studio sẽ tự tạo mới 1 database (nếu database chưa tồn tại) chứa các table của ASP.NET Identity hoặc add thêm các table của ASP.NET Identity vào database (nếu database đó đã tồn tại) trong SQL Server. Trong database này sẽ chứa 5 table dbo.AspNetRoles, dbo.AspNetUserClaims, dbo.AspNetUserLogins, dbo.AspNetUserRoles, dbo.AspNetUsers và 1 table lưu giữ lịch sử sửa đổi DbContext trong project là dbo.__MigrationHistory phục vụ trong việc quản lý user trên web.
31
Hình 46. Các table của ASP.NET Identity
32
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỒNG