ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(三)

修改用户账户及cookie配置

一、修改密码强度和用户邮箱验证规则:

打开Startup.cs,找到public void ConfigureServices(IServiceCollection services)中的services.AddIdentity<ApplicationUser, ApplicationRole>()修改为如下代码:

services.AddIdentity<ApplicationUser, ApplicationRole>(options =>
    {
                // 配置身份选项
                // 密码强度配置
                options.Password.RequireDigit = false;//是否需要数字(0-9).
                options.Password.RequiredLength = 6;//设置密码长度最小为6
                options.Password.RequireNonAlphanumeric = false;//是否包含非字母或数字字符。
                options.Password.RequireUppercase = false;//是否需要包含大写字母(A-Z).
                options.Password.RequireLowercase = false;//是否需要包含小写字母(a-z).
                 options.Password.RequiredUniqueChars = 1;//需要密码中不同字符的数目.默认为1

                // 锁定设置
                options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);//账户锁定时长5分钟
                options.Lockout.MaxFailedAccessAttempts = 10;//10次失败的尝试将账户锁定
                options.Lockout.AllowedForNewUsers = true;//是否锁定新用户

                // 用户注册设置
                options.User.RequireUniqueEmail = true; //是否Email地址必须唯一
                options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+";//用户名可选字符(字母大小写+数字+(-._@+))

                // 登陆配置
                options.SignIn.RequireConfirmedEmail = false;//需要确认的电子邮件登录。默认为false。
                options.SignIn.RequireConfirmedPhoneNumber = false;//需要确认的电话号码登录。默认为false。                        
    })
    .AddEntityFrameworkStores<ApplicationDbContext>()
    .AddDefaultTokenProviders();

二、修改cookie配置

在public void ConfigureServices(IServiceCollection services)中services.AddIdentity<ApplicationUser, ApplicationRole>()后面添加如下代码:(//的选项为非常用)

//应用程序的cookie常用设置
            services.ConfigureApplicationCookie(options =>
            {
                //options.Cookie.Name = "YourAppCookieName";//cookied的名称. 默认为AspNetCore.Cookies.
                options.Cookie.HttpOnly = true;//是否拒绝cookie从客户端脚本访问.默认为true.
                options.ExpireTimeSpan = TimeSpan.FromMinutes(60);//Cookie保持有效的时间60分。//TimeSpan.FromDays(150);
                options.LoginPath = "/Account/Login";//在进行登录时自动重定向。
                options.LogoutPath = "/Account/Logout";//在进行注销时自动重定向。
                //options.AccessDeniedPath = "/Account/AccessDenied"; //当用户没有授权检查时将被重定向。
                //options.SlidingExpiration = true;//当TRUE时,新cookie将在当前cookie超过到期窗口一半时发出新的到期时间。默认为true。
                // Requires `using Microsoft.AspNetCore.Authentication.Cookies;`
                //options.ReturnUrlParameter = CookieAuthenticationDefaults.ReturnUrlParameter;//401状态改为302状态并重定向到登录路径。
            });

 

文章来自:http://www.cnblogs.com/chonghanyu/p/7672779.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3