【问题标题】:How to add authentication account controller after creating a project?创建项目后如何添加认证账户控制器?
【发布时间】:2018-06-17 17:38:21
【问题描述】:

我正在 VS 2017 中开发一个项目。我忘记在创建项目期间添加身份验证。现在,我想在不丢失或创建新项目的情况下添加帐户控制器。怎么可能?

感谢

【问题讨论】:

  • 一种方法是创建一个新项目并将相关位复制到当前项目中。但是,如果不知道您想要什么类型的身份验证或如何配置它,任何人都无法在这里提供太多帮助。

标签: c# asp.net-mvc visual-studio controller visual-studio-2017


【解决方案1】:

在 .net Core 2.1 中,身份可以搭建在:

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-2.1&tabs=visual-studio

这个系统非常有用,因为它允许您在脚手架对话框中配置许多鲜为人知的身份功能,例如 2FA 和密码重置。剩下的就是设置视图样式,节省大量时间,因为功能非常通用。如果您真的想要安全,身份系统甚至允许使用 2FA 应用程序! SMS 不适合加密应用,因为它可能被劫持!

当您为项目选择身份/身份验证时,2.1 的默认配置非常简陋,除了教程之外可能不会有太多用处。我认为视图是作为 Razor Pages 库实现的,因此 Views 文件夹不会有任何登录/注册页面。

此外,Startup.cs 中的注入 ConfigureServices(IServiceCollection services) 仅允许 IdentityUser。您可能希望使用更多字段来扩展此模型,例如名字和姓氏、注册日期、上次登录等。

services.AddDefaultIdentity<IdentityUser>()
                .AddEntityFrameworkStores<ApplicationDbContext>();

对比

  services.AddIdentity<EnhancedUserAcct, IdentityRole>()
              .AddEntityFrameworkStores<ApplicationDbContext>();

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多