C# 在ASP.NET 5.0 MVC Identity now Identity Config.cs中定义密码验证的正确位置在哪里?

C# 在ASP.NET 5.0 MVC Identity now Identity Config.cs中定义密码验证的正确位置在哪里?,c#,asp.net,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc 5,在以前的项目中,我在App_start文件夹的identityconfig.cs文件中定义了.NET标识的密码验证。以下内容将位于ApplicationUserManager类下: // Configure validation logic for passwords manager.PasswordValidator = new PasswordValidator { RequiredLength = 6,

在以前的项目中,我在App_start文件夹的identityconfig.cs文件中定义了.NET标识的密码验证。以下内容将位于ApplicationUserManager类下:

// Configure validation logic for passwords 
            manager.PasswordValidator = new PasswordValidator 
            { 
                RequiredLength = 6, 
                RequireNonLetterOrDigit = true, 
                RequireDigit = true, 
                RequireLowercase = true, 
                RequireUppercase = true, 
            }; 
在.NET MVC的最新版本中,我使用的identityconfig.cs和App_Start已被删除


关于这些变量现在可以设置在哪里,我一直无法找到一个明确的答案。希望有人能给我指出正确的方向

这是配置ApplicationUserManager类的一部分。它只是一个类,所以它去哪里并不重要

但是,由于我将所有实体都保存在一个单独的类库中,包括ApplicationUser实体,因此我喜欢在其中创建一个标识目录,将ApplicationUser、ApplicationUserManager、ApplicationSignInManager等放在它们各自的.cs文件中,该文件以类命名,这几乎是任何类的最佳实践。微软喜欢把所有东西都放在几个.cs文件中,但从技术上讲,这是一种不好的做法


不过,我就是这么做的。您可以自由组织您的解决方案,但您认为这对您的应用程序最有意义。

这是配置ApplicationUserManager类的一部分。它只是一个类,所以它去哪里并不重要

但是,由于我将所有实体都保存在一个单独的类库中,包括ApplicationUser实体,因此我喜欢在其中创建一个标识目录,将ApplicationUser、ApplicationUserManager、ApplicationSignInManager等放在它们各自的.cs文件中,该文件以类命名,这几乎是任何类的最佳实践。微软喜欢把所有东西都放在几个.cs文件中,但从技术上讲,这是一种不好的做法


不过,我就是这么做的。您可以自由组织您的解决方案,但您认为这对您的应用程序最有意义。

如果您正在谈论ASP.NET Core MVC 6中的Identity 3 您需要通过实现接口IPasswordValidator在对象中实现自定义逻辑

然后在您的Startup.cs中的IServiceProvider ConfigureServicesServiceCollection服务方法下 添加以下内容

services.AddScoped<IPasswordValidator<ApplicationUser>, YOUR_OBJECT>();
其中ApplicationUser是标识实现使用的用户对象


如果您在ASP.NET核心MVC 6中谈论Identity 3,那么Identity 3已被拆分为可扩展性接口

您需要通过实现接口IPasswordValidator在对象中实现自定义逻辑

然后在您的Startup.cs中的IServiceProvider ConfigureServicesServiceCollection服务方法下 添加以下内容

services.AddScoped<IPasswordValidator<ApplicationUser>, YOUR_OBJECT>();
其中ApplicationUser是标识实现使用的用户对象


Identity 3已被拆分为可扩展性接口

我通过在startup.cs中执行以下操作实现了这一点


我通过在startup.cs中执行以下操作实现了这一点