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

时间:2018-06-04 08:48:01

标签: c# asp.net asp.net-core asp.net-core-2.0 asp.net-core-2.1

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

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

enter image description here

6 个答案:

答案 0 :(得分:63)

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

  1. 解决方案资源管理器,右键单击项目> 添加> 新的脚手架物品
  2. 添加脚手架对话框的左侧窗格中,选择身份> 添加即可。
  3. ADD标识对话框中,选择您要覆盖的文件。
    1. 必要时选择布局
    2. 选择或创建数据上下文类
  4. 点击添加
  5. 了解更多信息visit documentation

答案 1 :(得分:62)

其中一个improvements in 2.1是Razor类库,默认标识位于各个auth模板中的其中一个。如果您希望在应用程序中安装代码以便自定义代码,可以使用Visual Studio或全局scaffolder工具进行自定义。有关如何执行这两项操作的信息,请参阅this guide

答案 2 :(得分:5)

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

答案 3 :(得分:2)

ASP.NET Core 2.1 identity UI is shipped as a library以后。

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

答案 4 :(得分:1)

结果ASP.NET Core Identity现在可用作名为Microsoft.AspNetCore.Identity.UI的预建包。

您可以在此处详细了解:

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

答案 5 :(得分:0)

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