亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

asp.net core mvc怎么做登錄頁面

小億
81
2024-11-30 08:09:38
欄目: 編程語言

在ASP.NET Core MVC中創建一個登錄頁面,你需要遵循以下步驟:

  1. 創建一個新的MVC項目(如果你還沒有一個): 打開Visual Studio,選擇 “創建新項目”,然后搜索 “ASP.NET Core Web 應用程序”,選擇一個適合你需求的模板(例如,“Web 應用程序”),然后點擊 “創建”。

  2. 添加MVC控制器和視圖: 在 “解決方案資源管理器” 中,右鍵單擊 “Controllers” 文件夾,然后選擇 “添加” -> "控制器…”。在彈出的窗口中,選擇 “MVC 控制器 - 空”,然后點擊 “添加”。在 “添加新的Scaffolded項目” 對話框中,確保選擇了 “MVC 控制器 - 使用讀/寫操作” 和 “MVC 視圖 - 使用 EF Core”,然后點擊 “添加”。

  3. 創建登錄視圖: 在 “Views” -> “Home” 文件夾中,找到 “Index.cshtml” 文件并替換其內容,以創建一個登錄表單。你可以使用以下代碼作為示例:

@model YourNamespace.Models.LoginViewModel

@{
    ViewData["Title"] = "登錄";
}

<h2>登錄</h2>

<form asp-action="Login">
    <div>
        <label asp-for="Username"></label>
        <input asp-for="Username" />
    </div>
    <div>
        <label asp-for="Password"></label>
        <input asp-for="Password" type="password" />
    </div>
    <button type="submit">登錄</button>
</form>
  1. 創建登錄模型: 在 “Models” 文件夾中,創建一個名為 “LoginViewModel.cs” 的新文件,并添加以下代碼:
namespace YourNamespace.Models
{
    public class LoginViewModel
    {
        [Required]
        [Display(Name = "用戶名")]
        public string Username { get; set; }

        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "密碼")]
        public string Password { get; set; }
    }
}
  1. 創建登錄控制器: 在 “Controllers” 文件夾中,找到 “HomeController.cs” 文件并替換其內容,以創建一個處理登錄請求的控制器方法。你可以使用以下代碼作為示例:
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using YourNamespace.Models;

namespace YourNamespace.Controllers
{
    public class HomeController : Controller
    {
        private readonly UserManager<ApplicationUser> _userManager;
        private readonly SignInManager<ApplicationUser> _signInManager;

        public HomeController(UserManager<ApplicationUser> userManager, SignInManager<ApplicationUser> signInManager)
        {
            _userManager = userManager;
            _signInManager = signInManager;
        }

        [HttpGet]
        public IActionResult Login()
        {
            return View();
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> Login(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                var result = await _signInManager.PasswordSignInAsync(model.Username, model.Password, false, lockoutOnFailure: true);
                if (result.Succeeded)
                {
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "用戶名或密碼不正確。");
                }
            }

            return View(model);
        }
    }
}
  1. 配置身份驗證: 在 “Startup.cs” 文件中,確保你已經配置了身份驗證中間件。你需要在 “ConfigureServices” 方法中添加以下代碼:
public void ConfigureServices(IServiceCollection services)
{
    // ...

    services.AddIdentity<ApplicationUser, IdentityRole>()
        .AddEntityFrameworkStores<ApplicationDbContext>()
        .AddDefaultTokenProviders();

    // ...
}

同時,在 “Configure” 方法中添加以下代碼:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ...

    app.UseAuthentication();
    app.UseAuthorization();

    // ...
}
  1. 創建用戶模型和數據庫上下文: 在 “Models” 文件夾中,創建一個名為 “ApplicationUser.cs” 的新文件,繼承自 IdentityUser。在 “Data” 文件夾中,創建一個名為 “ApplicationDbContext.cs” 的新文件,繼承自 IdentityDbContext。確保在 “Startup.cs” 文件中將 “ApplicationDbContext” 設置為 “DbContextOptions” 的依賴項。

現在,你已經創建了一個基本的登錄頁面。用戶可以通過表單輸入用戶名和密碼,然后點擊 “登錄” 按鈕提交表單。如果身份驗證成功,用戶將被重定向到主頁。如果身份驗證失敗,將顯示錯誤消息。

0
肇庆市| 卢龙县| 新巴尔虎左旗| 马龙县| 浪卡子县| 娱乐| 临西县| 台南市| 博罗县| 墨江| 泸溪县| 涿州市| 保康县| 新竹市| 广德县| 黑龙江省| 彰化县| 平定县| 辽源市| 苏尼特左旗| 永德县| 曲松县| 泸西县| 察雅县| 广河县| 陆丰市| 潍坊市| 运城市| 鄂温| 开平市| 铁力市| 赤峰市| 朝阳区| 江北区| 宁都县| 疏附县| 兰西县| 秦安县| 四子王旗| 大姚县| 女性|