Escolha uma Página
(Last Updated On: 13/10/2019)

Ajustando os parâmetros de senha no CORE MVC

por | jul 23, 2019 | Desenvolvimento de Aplicações, Dicas, Identidade/Autorização | 0 Comentários

Se você define usar o módulo de Autenticação / Identidade, saiba que pode definir com clareza todos os parâmetros para sua aplicação

Você pode definir todos os padrões no arquivo STARTUP.CS. Por padrão, Identity requer que as senhas contenham um caractere maiúsculo, caractere minúsculo, um dígito e um caractere não alfanumérico. As senhas devem ter pelo menos seis caracteres. PasswordOptions pode ser definido em Startup.ConfigureServices.

ARQUIVO STARTUP.CS - NO METODO public void ConfigureServices(IServiceCollection services)//

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {

            var cultureInfo = new CultureInfo("pt-BR");
            cultureInfo.NumberFormat.CurrencySymbol = "R$";

            CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
            CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;



            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlServer(
                    Configuration.GetConnectionString("DefaultConnection")));


            //services.AddDefaultIdentity<IdentityUser>()
            //    .AddDefaultUI(UIFramework.Bootstrap4)
            //    .AddEntityFrameworkStores<ApplicationDbContext>();
            // https://medium.com/@scottkuhl/extending-asp-net-core-2-2-identity-management-c3cc657cc448
            services.AddIdentity<AppUser, AppRole>()
             .AddDefaultUI(UIFramework.Bootstrap4)
             .AddEntityFrameworkStores<ApplicationDbContext>().AddDefaultTokenProviders();

//- comece aqui 

            //https://www.c-sharpcorner.com/article/asp-net-core-2-0-user-role-base-menu-management-using-dependency-injection/
            //Password Strength Setting  
            services.Configure<IdentityOptions>(options =>
            {
                // Password settings  
                options.Password.RequireDigit = true;
                options.Password.RequiredLength = 8;
                options.Password.RequireNonAlphanumeric = false;
                options.Password.RequireUppercase = true;
                options.Password.RequireLowercase = false;
                options.Password.RequiredUniqueChars = 6;

                // Lockout settings  
                options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(300);
                options.Lockout.MaxFailedAccessAttempts = 10;
                options.Lockout.AllowedForNewUsers = true;

                // User settings  
                options.User.RequireUniqueEmail = true;
            });

//- termine aqui 

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2).AddViewLocalization();
        }

IdentityOptions.Password especifica o PasswordOptions com as propriedades mostradas na tabela. 

Propriedade Descrição Padrão
RequireDigit Requer um número entre 0-9 na senha true
RequiredLength O comprimento mínimo da senha 6
RequireLowercase Requer um caractere minúsculo na senha true
RequireNonAlphanumeric Requer um caractere não alfanumérico na senha. true
RequiredUniqueChars Aplica-se somente ao ASP.NET Core 2.0 ou posterior. Requer o número de caracteres distintos na senha 1
RequireUppercase Requer um caractere maiúsculo na senha true

 

Obrigado pela sua leitura. Continue visitando este blog e compartilhe artigos em sua rede de relacionamento. Por favor, se quiser, registre sugestões e comentários ao final da página.