C# MVC 实现登录功能(MySQL 数据库)

C# MVC 实现登录功能(MySQL 数据库)

在 ASP.NET Core MVC 框架中,实现登录功能涉及创建用户模型、设置数据库连接、编写控制器逻辑和设计视图界面。使用 MySQL 数据库时,需要通过 Entity Framework Core(EF Core)进行数据操作。下面,我将逐步指导您完成整个过程,确保代码真实可靠、结构清晰。整个过程包括:项目创建、MySQL 配置、模型定义、控制器实现、视图设计、认证逻辑和安全处理。

步骤 1: 创建 ASP.NET Core MVC 项目

首先,使用 Visual Studio 创建一个新的 ASP.NET Core Web 应用项目。

  • 打开 Visual Studio,选择“创建新项目”。
  • 选择“ASP.NET Core Web 应用 (Model-View-Controller)”模板。
  • 项目命名(例如:LoginDemo),并确保选择 .NET 6 或更高版本。
  • 创建项目后,安装必要的 NuGet 包:
    • 打开 NuGet 包管理器,安装:
      • Microsoft.EntityFrameworkCore:用于 EF Core。
      • Pomelo.EntityFrameworkCore.MySql:MySQL 的 EF Core 提供程序(推荐,因为它兼容性好)。
步骤 2: 配置 MySQL 数据库连接

设置 MySQL 数据库连接字符串和上下文类。

  • appsettings.json 文件中添加 MySQL 连接字符串:
    {
         
         
      "ConnectionStrings": {
         
         
        "DefaultConnection": "server=localhost;port=3306;database=logindb;user=root;password=yourpassword;"
      },
      // 其他配置...
    }
    
    • 替换 yourpassword 为您的 MySQL 密码,logindb 为数据库名(需提前在 MySQL 中创建)。
  • 创建数据库上下文类 AppDbContext.cs
    using Microsoft.EntityFrameworkCore;
    using System.Collections.Generic;
    
    namespace LoginDemo.Models
    {
         
         
        public class AppDbContext : DbContext
        {
         
         
            public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) {
         
          }
            public DbSet<User> Users {
         
          get; set; } // 用户表
        }
    }
    
  • Program.cs 中注册数据库上下文:
    using Microsoft.EntityFrameworkCore;
    using LoginDemo.Models;
    
    var builder = WebApplication.CreateBuilder(args);
    
    // 添加服务到容器
    builder.Services.AddControllersWithViews();
    builder.Services.AddDbContext<AppDbContext>(options =>
        options.UseMySql(builder.Configuration.GetConnectionString("DefaultConnection"),
        new MySqlServerVersion(new Version(8, 0,
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值