• Trang chủ
  • Du lịch
  • Giải trí
  • Học tập
  • Blog tài chính
  • Thủ thuật – Công nghệ
  • Xe cộ
  • Game
  • Blog
Facebook Twitter Instagram
  • Trang chủ
  • Giới thiệu
  • Thông tin liên hệ
  • Bảo mật người dùng
Facebook Twitter Instagram LinkedIn
Chuyện tình Havard Chuyện tình Havard
Banner
  • Trang chủ
  • Du lịch
  • Giải trí
  • Học tập
  • Blog tài chính
  • Thủ thuật – Công nghệ
  • Xe cộ
  • Game
  • Blog
Chuyện tình Havard Chuyện tình Havard
You are at:Home»Thủ thuật»Chi tiết cách làm trang đăng nhập bằng ASP.NET MVC

Chi tiết cách làm trang đăng nhập bằng ASP.NET MVC

0
By cthavard1@ on Tháng Tám 30, 2021 Thủ thuật
Share
Facebook Twitter Pinterest Email

TÓM TẮT NỘI DUNG

  1. ASP.NET MVC là gì?
  2. Cách làm trang đăng nhập bằng ASP.NET MVC

Bài viết dưới đây chúng tôi sẽ hướng dẫn quý bạn đọc cách làm trang đăng nhập bằng ASP.NET MVC nhanh chóng, đơn giản nhất. Hãy cùng chúng tôi bắt đầu tìm hiểu chi tiết nhé.

ASP.NET MVC là gì?

làm trang đăng nhập bằng asp.net mvc

Học lập trình web trực tuyến bằng ứng dụng ASP.NET MVCASP.NET MVC là một trong những framework tuyệt vời để hỗ trợ pattern MVC cho ASP.NET. Nếu bạn đang muốn tìm hiểu ASP.NET MVC làm việc như thế nào, bạn đọc cần phải có sự hiểu biết chi tiết về mô hình MVC. MVC là thuật ngữ viết tắt của các cụm từ  Model-View-Controller.

  • Model có chức năng lưu trữ dữ liệu của ứng dụng và tất cả trạng thái của nó. Đây là một cơ sở dữ liệu hoặc cũng có thể đơn giản chỉ là một tập tin XML.
  • View được coi là một giao diện mà người dùng được sử dụng bởi các khách hàng truy cập vào trang web của bạn để có thể nhìn thấy các dữ liệu. Các trang ASPX thường được sử dụng để giúp hiển thị view ở trong các ứng dụng ASP.NET MVC.
  • Controller sẽ chịu trách nhiệm việc xử lý mọi tương tác của người dùng đối với trang web. Controller được sử dụng để xác định loại view nào cần được hiển thị. Controller còn được sử dụng với mục đích để giao tiếp với model.

làm trang đăng nhập bằng asp.net mvc

Cách làm trang đăng nhập bằng ASP.NET MVC

Dưới đây là toàn bộ code của cách làm trang đăng nhập bằng ASP.NET MVC:

Login.cshtml.cs

using System;

using System.Collections.Generic;

using System.ComponentModel.DataAnnotations;

using System.Linq;

using System.Text.Encodings.Web;

using System.Threading.Tasks;

using Album.Models;

using Microsoft.AspNetCore.Authentication;

using Microsoft.AspNetCore.Authorization;

using Microsoft.AspNetCore.Identity;

using Microsoft.AspNetCore.Identity.UI.Services;

using Microsoft.AspNetCore.Mvc;

using Microsoft.AspNetCore.Mvc.RazorPages;

using Microsoft.Extensions.Logging;

using XTLASPNET;

namespace Album.Areas.Identity.Pages.Account {

    [AllowAnonymous]

    public class LoginModel : PageModel {

        private readonly UserManager<AppUser> _userManager;

        private readonly SignInManager<AppUser> _signInManager;

        private readonly ILogger<LoginModel> _logger;

        public LoginModel (SignInManager<AppUser> signInManager,

            ILogger<LoginModel> logger,

            UserManager<AppUser> userManager) {

            _userManager = userManager;

            _signInManager = signInManager;

            _logger = logger;

        }

        [BindProperty]

        public InputModel Input { get; set; }

        public IList<AuthenticationScheme> ExternalLogins { get; set; }

        public string ReturnUrl { get; set; }

        [TempData]

        public string ErrorMessage { get; set; }

        public class InputModel {

            [Required (ErrorMessage = “Không để trống”)]

            [Display (Name = “Nhập username hoặc email của bạn”)]

            [StringLength (100, MinimumLength = 1, ErrorMessage = “Nhập đúng thông tin”)]

            public string UserNameOrEmail { set; get; }

            [Required]

            [DataType (DataType.Password)]

            [Display(Name = “Mật khẩu”)]

            public string Password { get; set; }

            [Display (Name = “Nhớ thông tin đăng nhập?”)]

            public bool RememberMe { get; set; }

        }

        public async Task OnGetAsync (string returnUrl = null) {

            if (!string.IsNullOrEmpty (ErrorMessage)) {

                ModelState.AddModelError (string.Empty, ErrorMessage);

            }

            returnUrl = returnUrl ?? Url.Content (“~/”);

            // Clear the existing external cookie to ensure a clean login process

            await HttpContext.SignOutAsync (IdentityConstants.ExternalScheme);

            ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync ()).ToList ();

            ReturnUrl = returnUrl;

        }

        public async Task<IActionResult> OnPostAsync (string returnUrl = null) {

            returnUrl = returnUrl ?? Url.Content (“~/”);

            // Đã đăng nhập nên chuyển hướng về Index

            if (_signInManager.IsSignedIn (User)) return Redirect (“Index”);

            if (ModelState.IsValid) {

                // Thử login bằng username/password

                var result = await _signInManager.PasswordSignInAsync (

                    Input.UserNameOrEmail,

                    Input.Password,

                    Input.RememberMe,

                    true

                );

                if (!result.Succeeded) {

                    // Thất bại username/password -> tìm user theo email, nếu thấy thì thử đăng nhập

                    // bằng user tìm được

                    var user = await _userManager.FindByEmailAsync (Input.UserNameOrEmail);

                    if (user != null) {

                        result = await _signInManager.PasswordSignInAsync (

                            user,

                            Input.Password,

                            Input.RememberMe,

                            true

                        );

                    }

                }

                if (result.Succeeded) {

                    _logger.LogInformation (“User đã đăng nhập”);

                    return ViewComponent(MessagePage.COMPONENTNAME, new MessagePage.Message() {

                        title = “Đã đăng nhập”,

                        htmlcontent = “Đăng nhập thành công”,

                        urlredirect = returnUrl

                    });

                }

                if (result.RequiresTwoFactor) {

                    // Nếu cấu hình đăng nhập hai yếu tố thì chuyển hướng đến LoginWith2fa

                    return RedirectToPage (“./LoginWith2fa”, new { ReturnUrl = returnUrl, RememberMe = Input.RememberMe });

                }

                if (result.IsLockedOut) {

                    _logger.LogWarning (“Tài khoản bí tạm khóa.”);

                    // Chuyển hướng đến trang Lockout – hiện thị thông báo

                    return RedirectToPage (“./Lockout”);

                } else {

                    ModelState.AddModelError (string.Empty, “Không đăng nhập được.”);

                    return Page ();

                }

            }

            // If we got this far, something failed, redisplay form

            return Page ();

        }

    }

}

Login.cshtml

 

@page “/login/”

@model LoginModel

@{

    ViewData[“Title”] = “ĐĂNG NHẬP”;

}

<h1>@ViewData[“Title”]</h1>

<div class=“row”>

    <div class=“col-md-4”>

        <section>

            <form id=“account” method=“post”>

                <h4>Điền thông tin để đăng nhập.</h4>

                <hr />

                <div asp–validation–summary=“All” class=“text-danger”></div>

                <div class=“form-group”>

                    <label asp–for=“Input.UserNameOrEmail”></label>

                    <input asp–for=“Input.UserNameOrEmail” class=“form-control” />

                    <span asp–validation–for=“Input.UserNameOrEmail” class=“text-danger”></span>

                </div>

                <div class=“form-group”>

                    <label asp–for=“Input.Password”></label>

                    <input asp–for=“Input.Password” class=“form-control” />

                    <span asp–validation–for=“Input.Password” class=“text-danger”></span>

                </div>

                <div class=“form-group”>

                    <div class=“checkbox”>

                        <label asp–for=“Input.RememberMe”>

                            <input asp–for=“Input.RememberMe” />

                            @Html.DisplayNameFor(m => m.Input.RememberMe)

                        </label>

                    </div>

                </div>

                <div class=“form-group”>

                    <button type=“submit” class=“btn btn-primary”>Đăng nhập</button>

                </div>

                <div class=“form-group”>

                    <p>

                        <a id=“forgot-password” asp–page=“./ForgotPassword”>Bạn quyên mật khẩu?</a>

                    </p>

                    <p>

                        <a asp–page=“./Register” asp–route–returnUrl=“@Model.ReturnUrl”>Chưa có tài khoản, đăng ký mới</a>

                    </p>

                </div>

            </form>

        </section>

    </div>

    <div class=“col-md-6 col-md-offset-2”>

        <section>

            <h4>Đăng nhập bằng.</h4>

            <hr />

            @{

                if ((Model.ExternalLogins?.Count ?? 0) == 0)

                {

                    <div>

                        <p>

                            Chưa cấu hình đăng nhập bằng dịch vụ khác. See <a href=“https://go.microsoft.com/fwlink/?LinkID=532715”>this article</a>

                        </p>

                    </div>

                }

                else

                {

                    <form id=“external-account” asp–page=“./ExternalLogin” asp–route–returnUrl=“@Model.ReturnUrl” method=“post” class=“form-horizontal”>

                        <div>

                            <p>

                                @foreach (var provider in Model.ExternalLogins)

                                {

                                    <button type=“submit” class=“btn btn-primary” name=“provider” value=“@provider.Name” title=“Log in using your @provider.DisplayName account”>@provider.DisplayName</button>

                                }

                            </p>

                        </div>

                    </form>

                }

            }

        </section>

    </div>

</div>

@section Scripts {

    <partial name=“_ValidationScriptsPartial” />

làm trang đăng nhập bằng asp.net mvc

Trên đây là chi tiết cách làm trang đăng nhập bằng ASP.NET MVC. Hy vọng bạn đọc có thể dễ dàng thực hiện thành công.

làm trang đăng nhập bằng asp.net mvc
Share. Facebook Twitter Pinterest Email

Bài viết liên quan

Thủ thuật

Quy trình khép kín của một phần mềm chăm sóc khách hàng

Thủ thuật

Hướng dẫn cách copy và paste trong khi đang ở chế độ filter đơn giản nhất

Thủ thuật

Tại sao không vào được WordPress để quản trị?

Leave A Reply Cancel Reply

Bài viết mới nhất
  • Những tiêu chí chọn lựa ghế chống gù tốt mà bạn nên biết
  • Cách trưng bày hàng tạp hóa thu hút khách hàng trong siêu thị
  • Tìm hiểu cách làm bánh mì hoa cúc kiểu pháp thơm ngon
  • Dịch vụ dọn nhà theo giờ Hà Nội chuyên nghiệp, chất lượng
  • Quy trình khép kín của một phần mềm chăm sóc khách hàng
Kênh xã hội
  • Facebook
  • Twitter
  • Instagram
  • Pinterest
bài viết được quan tâm

Trái tim em là dòng máu nóng để yêu anh

Tích hợp driver usb 3.0 vào file iso cài win 7 dành cho người muốn nâng cấp hệ điều hành windows 7

Top 8 các món ăn dân dã miền Bắc siêu ngon

Một người nào khác cho anh thêm đậm sâu – Lời bài hát “Và thế là hết” 

chuyên mục hay
  • Blog
  • Blog giải trí
  • Blog tài chính
  • Blog Đời sống
  • Công nghệ
  • Du lịch
  • Du lịch bốn phương
  • Game
  • Giải trí
  • Học tập
  • Thủ thuật
  • Thủ thuật – Công nghệ
  • Xe
  • Xe cộ
  • Xe đẹp
Thư viện ảnh
tin hot

Những tiêu chí chọn lựa ghế chống gù tốt mà bạn nên biết

Cách trưng bày hàng tạp hóa thu hút khách hàng trong siêu thị

Tìm hiểu cách làm bánh mì hoa cúc kiểu pháp thơm ngon

Copyright © 2023. Designed by Chuyentinhhavard.com.
  • Trang chủ
  • Giới thiệu
  • Thông tin liên hệ
  • Bảo mật người dùng

Type above and press Enter to search. Press Esc to cancel.