繁体   English   中英

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

[英]Identity in ASP.Net Core 2.1< - Customize AccountController

我已经安装了ASP.NET Core 2.1但即使我使用ASP.NET Core 2.1创建了一个新的ASP.NET Core Web ApplicationIndividual User AccountsStore user accounts in-app我也找不到 AccountController 或视图。

我仍然可以毫无问题地注册和登录,但我找不到它的代码,它存在于 2.0.0 中。

在此处输入图片说明

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

  1. 解决方案资源管理器中,右键单击项目 >添加>新建脚手架项
  2. Add Scaffold对话框的左窗格中,选择Identity > ADD
  3. 在“添加标识”对话框中,选择要覆盖的文件。
    1. 必要时选择布局
    2. 选择或创建数据上下文类
  4. 点击添加

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

2.1中的更改之一是 Razor 类库,默认身份位于单个身份验证模板中的其中一个中。 如果您希望在您的应用程序中包含代码以便您可以对其进行自定义,您可以使用 Visual Studio 或全局脚手架工具将其搭建起来。 请参阅本指南以了解如何执行这两项操作。

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

事实证明, ASP.NET Core Identity现在可以作为名为Microsoft.AspNetCore.Identity.UI的预构建包使用。

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

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

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

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

据我所知,AccountController 代码已移至 Razor 页面(及其背后的代码),并且使用默认值效果最佳,因此可以从全新的网络自定义您可以搭建脚手架的代码(即在正确的位置创建文件) Core 2.1 项目,右键单击 Visual Studio 2017 中的项目并选择 Add => New Scaffolded Item => Identity 这将打开一个选择对话框。 选择所需的页面,然后就可以了。 只需更改您想要的页面并复制到启用身份的项目中的相同位置,因为这些新页面会自动覆盖默认值。 这是使用 Identity 自定义身份验证/授权的新方法,不确定是否很多人认为这是重大进展!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM