ASP.NET 中内置身份验证的控制器和视图在哪里?

Where is the controller and view for the built-in authentication in ASP.NET?

我正在学习 ASP.NET 来自 Node.js 背景。

当我创建一个新的MVC项目时,我可以选择内置register/login。

这给了我以下视图,我可以在其中注册和登录。

但是我很困惑,因为我在目录中找不到相应的控制器或视图,如果我想自定义行为,这是有问题的。

有人可以阐明它的工作原理以及控制器和视图在哪里吗?谢谢

它不在项目文件夹中。 UI 从 Microsoft.AspNetCore.Identity.UI 库加载。

您可以在下面查看它的代码 URL。看代码就知道怎么配置了。

https://github.com/dotnet/aspnetcore/tree/main/src/Identity/UI/src

他们没有使用 MVC 风格,他们使用的是代码隐藏在 C# 模型中的 Razor 页面。

您可以通过在页面模型上使用 [IdentityDefaultUI(typeof(LoginModel<>))] 等属性来提供自己的 UI。

参考: https://github.com/dotnet/aspnetcore/blob/main/src/Identity/UI/src/Areas/Identity/Pages/V5/Account/Login.cshtml.cs

控制器文件夹包含控制器文件,您将在其中看到服务器端 (C#) 代码,它将接收来自视图的请求并对其进行处理,然后发送回视图。 views 文件夹包含从用户那里获取输入的 html 代码。在此项目结构中,您将看到包含通用视图文件的共享文件夹,_loginpartial.cshtml 是登录视图。