ASP.NET Core中Scaffolding Identity未生成登录、注册所需页面的问题
ASP.NET Core中Scaffolding Identity未生成登录、注册所需页面的问题
嗨,我来帮你排查下为啥Scaffold Identity没生成登录、注册页面的问题。先结合你给出的Program.cs代码片段,整理几个常见的坑和解决步骤,你可以一步步试:
先确认Scaffold命令是否执行正确
很多时候是因为没明确指定要生成的页面,默认不会自动生成所有Identity页面。你需要在项目终端里执行带指定文件的命令,比如:dotnet aspnet-codegenerator identity -dc ObjectCrudApp.Data.AppDbContext --files "Account.Login;Account.Register"如果想一次性生成所有Identity相关页面,直接去掉
--files参数就行:dotnet aspnet-codegenerator identity -dc ObjectCrudApp.Data.AppDbContext检查项目依赖和上下文是否正确
- 先确保装了必要的NuGet包,没装的话先在终端执行:
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore - 确认你的
AppDbContext是继承自IdentityDbContext(或带自定义用户的IdentityDbContext<ApplicationUser>),而不是普通的DbContext。比如你的上下文应该是类似这样的:using ObjectCrudApp.Areas.Identity.Data; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; namespace ObjectCrudApp.Data; public class AppDbContext : IdentityDbContext<ApplicationUser> { public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { } // 你的其他实体DbSet... }
- 先确保装了必要的NuGet包,没装的话先在终端执行:
检查Program.cs的服务和中间件配置是否完整
你现有代码里加了DbContext,但还要确保Identity服务配置到位,比如:// 如果你用默认用户(没自定义角色) builder.Services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true) .AddEntityFrameworkStores<AppDbContext>(); // 如果需要自定义角色的话,用这个 // builder.Services.AddIdentity<ApplicationUser, IdentityRole>() // .AddEntityFrameworkStores<AppDbContext>() // .AddDefaultTokenProviders();另外中间件顺序绝对不能错,必须按这个顺序加:
var app = builder.Build(); if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); // 认证必须在授权前面 app.UseAuthentication(); app.UseAuthorization(); // 必须加这个,因为Identity页面是Razor Pages app.MapRazorPages(); app.Run();清理旧的Identity目录再重试
如果你的项目里已经有Areas/Identity目录,可能之前生成的文件会导致新的Scaffold命令跳过部分页面。可以先备份这个目录然后删除,再重新执行Scaffold命令试试。
备注:内容来源于stack exchange,提问作者bibashmanjusubedi
相关产品推荐
相关产品推荐

