Authenticate với Identity trên ASP.NET Core

Chúng tôi rất vui mừng được chia sẻ kiến thức sâu sắc về từ khóa Asp net identity la gi và hi vọng rằng nó sẽ hữu ích cho các bạn đọc. Bài viết tập trung trình bày ý nghĩa, vai trò và ứng dụng của từ khóa trong việc tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Chúng tôi cung cấp các phương pháp tìm kiếm, phân tích và chọn lọc từ khóa phù hợp, kèm theo các chiến lược và công cụ hữu ích. Hi vọng rằng thông tin chúng tôi chia sẻ sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog của chúng tôi để cập nhật kiến thức mới nhất.

ASP.NET Core Identity là một thành phần (built-in) của ASP.NET Core, nó cung cấp cho bạn các tính năng đầy đủ và đa dạng về authentication. Có thể như: Tạo tài khoản, login với user name và password, update profile. Hoặc cũng đều có thể sử dụng những provider phía ngoài giống như: Facebook, Google, Twitter, Microsoft tài khoản và nhiều cái khác nữa. Chúng ta có thể cấu hình ASP.NET Core để sử dụng với SQL Server nhằm lưu trữ user name, password và tài liệu profile. Bài lược dịch này tôi sẽ giới thiệu với những bạn cách tạo, cấu hình project có sửu dụng Identity, song song custom một số thông tin của người dùng.

Bạn Đang Xem: Authenticate với Identity trên ASP.NET Core

Command line

Nếu các bạn yêu thích những dòng lệnh, để tạo một project mvc có sử dụng Identity như lện phía dưới.

dotnet new mvc -auth Individual -name aspnetCoreIdentity

Trong số đó aspnetCoreIdentity là tên gọi project, Individual chỉ định project sử dụng cơ chế authentication là Identity

Với Visual studio

Nếu đã thân thuộc với Visual studio, các bạn tuân theo các bước như phía dưới:

  1. Trong Visual Studio, Chọn File > New > Project. Select ASP.NET Core Web Application và click OK.
  2. Chọn ASP.NET Core Web Application (MVC) for ASP.NET Core, tiếp theo chọn Change Authentication.
  3. Hành lang cửa số xuất hiện, với một số options cho việc Authenticate . Chọn Individual User Accounts và click OK để trở về hành lang cửa số trước đó

Dù bạn chọn Theo phong cách nào, ASP.NET Core cũng sẽ generate cho bạn một template đủ để chúng ta có thể thực hiện các chức năng: login, logout, tạo user, update profile mà không cần code bất kì dòng code nào. Thật dễ dàng phải không nào. Tuy nhiên, tất cả chúng ta nên tìm hiểu qua một số cấu hình cấp thiết.

Các chúng ta có thể xem những config được xây dựng sẵn tại phương thức ConfigureServices của Startup.cs

Xem Thêm : Phytochemical (Hóa Chất Thực Vật) Là Gì?

services.AddDbContextvàlt;ApplicationDbContextvàgt;(options => options.UseSqlite(Configuration.GetConnectionString(“DefaultConnection”))); services.AddIdentityvàlt;ApplicationUser, IdentityRolevàgt;() .AddEntityFrameworkStoresvàlt;ApplicationDbContextvàgt;() .AddDefaultTokenProviders(); services.Configurevàlt;IdentityOptionsvàgt;(options => { // Password settings options.Password.RequireDigit = true; options.Password.RequiredLength = 10; options.Password.RequireNonAlphanumeric = true; options.Password.RequireUppercase = false; options.Password.RequireLowercase = false; options.Password.RequiredUniqueChars = 6; // Lockout settings options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(30); options.Lockout.MaxFailedAccessAttempts = 10; options.Lockout.AllowedForNewUsers = true; // User settings options.User.RequireUniqueEmail = true; });

Trước nhất, là cấu hình database lưu trữ thông tin user, các chúng ta có thể sử dụng Sqlite, Sql server, hoặc InMemoryDatabase. Tiếp đến, chỉ định User model sử dụng cho ASP.NET Identity. Ngoài ra, các bạn cũng đều có thể cấu hình cho password, Lockout, user. Nói theo cách là đầy đủ cho những yêu cầu cơ bản của cơ chế authen thông thường. Để hiểu kĩ hơn về các config này, các chúng ta có thể tìm hiểu thêm Identity Configuration

Cuối cùng, bạn cần phải gọi UseAuthenticationtrong phương thức Configure. Điều này nhằm mục tiêu để kích hoạt Identity cho ứng dụng

public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); app.UseDatabaseErrorPage(); } else { app.UseExceptionHandler(“/trang chủ/Error”); } app.UseStaticFiles(); app.UseAuthentication(); app.UseMvc(routes => { routes.MapRoute( name: “default”, template: “{controller=trang chủ}/{action=Index}/{id?}”); }); }

Mặc định, sau lúc tạo project có sử dụng Identity, ta sẽ có được một model ApplicationUser

public class ApplicationUser : IdentityUser { }

  1. Để thêm các thông tin cấp thiết cho User chúng ta có thể sử dụng model này, hoặc chúng ta có thể tạo một model riêng tùy ý và thừa hưởng interface IdentityUser. Ví du:

using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Identity; namespace IdentityAuth.Models { public class CustomUser : IdentityUser { [PersonalData] public string Name { get; set; } [PersonalData] public DateTime Birthday { get; set; } } }

  1. Sửa InputModel

public class InputModel { [Required] [DataType(DataType.Text)] [Display(Name = “Full name”)] public string Name { get; set; } [Required] [Display(Name = “Birth Day”)] [DataType(DataType.Date)] public DateTime Birthday { get; set; } [Required] [EmailAddress] public string Thư điện tử { get; set; } … }

Xem Thêm : Dark Meme nghĩa là gì? Liệu nó có xấu xa nhưng những gì bạn nghĩ hay không?

3- Update các hàm có sử dụng InputModel Các bạn cần phải tìm các hàm có sử dụng InputModel để bổ sung các trường mới cho nó, ví dụ như hàm:

  • OnGetAsync

Input = new InputModel { Name = user.Name, Birthday = user.Birthday, Thư điện tử = email, PhoneNumber = phoneNumber };

  • OnPostAsync

if (Input.Name != user.Name) { user.Name = Input.Name; } if (Input.Birthday != user.Birthday) { user.Birthday = Input.Birthday; }

  1. Sửa view /Trương mục/Manage/Index.cshtml

<div class=”form-group”> <div class=”form-group”> <label asp-for=”Input.Name”></labelvàgt; <input asp-for=”Input.Name” class=”form-control” /> </divvàgt; <div class=”form-group”> <label asp-for=”Input.Birthday”></labelvàgt; <input asp-for=”Input.Birthday” class=”form-control” /> </divvàgt; <label asp-for=”Input.PhoneNumber”></labelvàgt; <input asp-for=”Input.PhoneNumber” class=”form-control” /> <span asp-validation-for=”Input.PhoneNumber” class=”text-danger”></spanvàgt; </divvàgt;

Mọi thứ đã xong, thời điểm hiện nay các chúng ta có thể kiểm tra kết quả bởi các lệnh sau:

dotnet build dotnet run

ASP.NET Core Identy hộ trợ rất đầy đủ và mạnh mẽ cho việc authentication của ứng dụng. Trong nội dung bài viết này, tôi chỉ muốn muốn giới thiệu sơ lược cũng như cách tùy biến user model sẵn có của nó. Nếu với ứng dụng các bạn không có những yêu cầu quá đặc biệt quan trọng cho quá trình Authenticate, thì rõ ràng Identy hoàn toàn có thể đáp ứng bài toán của bạn. Tại mức độ mạnh hơn, các chúng ta có thể tích hợp đăng nhập cùng Facebook, Google, Twitter,..và tích hợp QR code.

Link nội dung bài viết gốc:

  • Introduction to Identity on ASP.NET Core
  • Add custom user data

You May Also Like

About the Author: v1000

tỷ lệ kèo trực tuyến manclub 789club