ASP.Net Core 2.1中的身份:自定义AccountController

我已经安装了ASP.NET Core 2.1但是即使我使用带有Individual User Accounts ASP.NET Core 2.1创建了一个新的ASP.NET Core Web ApplicationStore user accounts in-app我找不到AccountController或Views。

我仍然可以注册和登录没有问题,但我找不到它的代码,它存在于2.0。

在此处输入图像描述

2.1中的一个改进是Razor类库,默认标识存在于各个auth模板中的其中一个中。 如果您希望在应用程序中拥有代码以便自定义它,可以使用Visual Studio或全局scaffolder工具进行构建。 有关如何执行这两项操作,请参阅本指南

ASP.NET Core 2.1引入了一个名为Razor类库的新function,它允许您构建视图和页面作为可重用库的一部分。 ASP.NET Core Identity已移至此类RCL。 您可以在项目中覆盖它:

  1. Solution Explorer中 ,右键单击项目> Add > New Scaffolded Item
  2. Add Scaffold对话框的左侧窗格中,选择Identity > ADD
  3. 在“ 添加标识”对话框中,选择要覆盖的文件。
    1. 必要时选择布局
    2. 选择或创建数据上下文类
  4. 点击ADD

有关更多信息, 请访问文档

我的解决方案是使用.net core 2.0创建项目,然后将框架更新为2.1并将所有依赖项更新到最新版本

ASP.NET Core 2.1 , 身份UI作为库提供 。

但是您可以通过将视图和控制器放在正确的位置(例如View / Account / Login.cshtml)来覆盖视图和控制器。

事实certificate, ASP.NET Core Identity现在可以作为一个名为Microsoft.AspNetCore.Identity.UI的预构建包Microsoft.AspNetCore.Identity.UI

你可以在这里读更多关于它的内容:

https://blogs.msdn.microsoft.com/webdev/2018/03/02/aspnetcore-2-1-identity-ui/

据我所知,AccountController代码已被移动到Razor页面(及其代码隐藏),并且最好使用默认值,以便从全新的网络自定义脚手架代码(即在正确的位置创建文件)通过在Visual Studio 2017中右键单击Project并选择Add => New Scaffolded Item => Identity来打开Select Dialog,进行Core 2.1项目。 选择所需的页面即可。 只需更改所需页面并将其复制到启用Identity的项目中的相同位置,因为这些新页面会自动覆盖默认值。 这是使用Identity定制身份validation/授权的新方法,不确定是否有许多人考虑这一重大进展!