- 7 Màu
- about
- Ajax
- ảnh
- Ảnh b tháng 4
- Ảnh Bìa
- Ảnh bìa ca sĩ
- Ảnh bìa Facebook
- Ảnh bìa gái đẹp
- Ảnh bìa giáng sinh
- ảnh bìa liên minh huyền thoại
- Ảnh bìa năm mới
- Ảnh bìa tháng 10
- Ảnh bìa tháng 11
- Ảnh bìa tháng 12
- Ảnh bìa tháng 4
- Ảnh bìa tháng 8
- Ảnh bìa tháng 9
- Ảnh chế
- Ảnh chibi
- Ảnh Đẹp
- Ảnh động
- asp.net core
- ASP.NET Core Identity
- asp.net mvc
- backend
- Blogger Templates
- blogspot
- Brush
- Cafe Code
- Christmas
- Chữ nghệ thuật
- Chúc mừng năm mới
- Chuyện tình bác sĩ
- Cô Đơn
- Code
- css
- Dame
- Double Exposure
- Download
- Ebook
- EPPlus
- Faq
- File 3D
- flutter
- Font chữ
- Font chữ việt hóa
- frontend
- Fshare.vn
- Giáng sinh
- Hacker
- Hacking
- Halloween
- Hiệu ứng chữ
- Hình nền máy tính
- học javascript
- Hot Girl
- HTML - CSS - ?
- html/css
- Hướng dẫn cover ảnh bìa
- Hướng dẫn Photoshop
- javascript
- javascript dom
- Khung ảnh bìa
- Khung Hình
- Kĩ năng seo
- lập trình asp.net
- lập trình mobile
- Logo
- Mặt Nạ
- Mockup
- ngày nhà giáo Việt Nam
- Ngày phụ nữ
- Noel
- Phần Mềm
- Phiêu Lưu
- Phím tắt
- Photoshop
- PNG
- Pokémon
- PSD
- PSD 3D Text
- PSD ảnh bìa
- psd đường một chiều
- Seo
- service
- Soái Ca
- Sơn Tùng M-TP
- source code
- Stock Ảnh
- Sự kiện Blogger
- Tâm Trạng
- tản mạn
- Tất cả bài viết
- template
- template chuẩn seo
- templates đẹp
- Tết
- Tết trung thu
- Text Effect
- Thầy cô
- Thủ Thuật
- Thủ thuật Blogger
- Thủ thuật Facebook
- Thủ thuật Photoshop
- Tiện ích Blogger
- Tìm hiểu về Photoshop
- Tình Yêu
- Tutorial
- Typo
- Typography
- ui ux design
- Valentine
- Vector
- Video
Authentication với ASP.NET Core Identity #4 Tạo chức năng đăng nhập tài khoản
Với nhiều yêu cầu của phần mềm, mà một số không cần đến chức năng đăng ký, mà chỉ có chức năng đăng nhập, tuy nhiên để thực hiện chức năng này thì phải Identity chúng ta chỉ cần vài bước cơ bản.
Tạo chức năng đăng nhập tài khoản
Bước 1. Trong IdentityAuth.Data/ViewModels thêm LoginViewModel.cs:
public class LoginViewModel
{
[Required]
[EmailAddress]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name = "Remember me")]
public bool RememberMe { get; set; }
public string ReturnUrl { get; set; }
public IList<AuthenticationScheme> ExternalLogins { get; set; }
}
Để dùng AuthenticationScheme, ta cài đặt NugetPackage: Microsoft.AspNetCore.Authentication.Abstractions Bước 2. Thêm mới các phương thức sau trong AccountController.cs:
[HttpGet]
[Route("login")]
public async Task<IActionResult> Login(string returnUrl)
{
LoginViewModel model = new LoginViewModel
{
ReturnUrl = returnUrl,
ExternalLogins =
(await signInManager.GetExternalAuthenticationSchemesAsync()).ToList()
};
return View(model);
}
[HttpPost]
[Route("login")]
public async Task<IActionResult> Login(LoginViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
var result = await signInManager.PasswordSignInAsync(
model.Email,
model.Password,
model.RememberMe,
false);
if (result.Succeeded)
{
if (!string.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("index", "home");
}
}
}
return View(model);
}
[Route("logout")]
[HttpGet]
public async Task<IActionResult> Logout()
{
await signInManager.SignOutAsync();
return RedirectToAction("index", "home");
}
// This method added for role tutorial
[HttpGet]
[Route("access-denied")]
public IActionResult AccessDenied()
{
return View();
}
Bước 3. Add view cho login:
@model LoginViewModel
@{
ViewBag.Title = "User Login";
}
<h1>User Login</h1>
<div class="row">
<div class="col-md-4">
<form method="post">
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-group">
<label asp-for="Email"></label>
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Password"></label>
<input asp-for="Password" class="form-control" />
<span asp-validation-for="Password" class="text-danger"></span>
</div>
<div class="form-group">
<div class="checkbox">
<label asp-for="RememberMe">
<input asp-for="RememberMe" />
@Html.DisplayNameFor(m => m.RememberMe)
</label>
</div>
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
</div>
</div>
Bước 4. Thêm nút đăng nhập
<a class="nav-link text-dark" asp-area="Admin" asp-controller="Account" asp-action="Login">Login</a>
Vậy là xong. Nhưng khi đăng nhập xong nó sẽ direct qua trang admin, vậy ta tạo luôn trang admin. Bước 5. Tại Controller trong area thêm mới HomeController.cs:
[Area("Admin")]
[Route("admin/home")]
[Route("admin")]
public class HomeController : Controller
{
[Route("index")]
[Route("")]
public IActionResult Index()
{
return View();
}
}
Bước 6. Add view cho controller trên với nội dung hiển thị bất kỳ nhé.Lời kết
Trong series này, các bài viết, các chức năng có liên kết liên quan đến nhau, để làm bài này hay các bài sau này các bạn cần xem lại các bài trước.
Và bài tiếp theo chúng ta sẽ tiếp sẽ tiếp tục với các nghiệp vụ hiển thị theo quyền, hiển thị danh sách quyền, phân quyền,... Hãy luôn theo dõi blog mình nhé.
Mong bài viết có ích với các bạn, chúc các bạn thành công.
By Hiếu Quốc.
Có lẽ bạn thích?
4 comments
Danh Mục
Blog Bạn Bè
Comments
Địa chỉ
52 Xô Viết Nghệ Tĩnh, Hải Châu, Đà Nẵng
Giao diện đón nô - en à ad
ReplyDeleteđang maintain đón tết luôn 🙆♀️
DeleteĐược em êi
DeleteBest Article !!
ReplyDeleteLove from mrlaboratory.info ❤❤
Read Our Article !!a