Asp.net core 2.0.1 Razor 的使用学习笔记(三)

ASP.net core 2.0.1 中 asp.net identity 2.0.1 的基本使用(二)—用户账户及cookie配置

修改用户账户及cookie配置

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

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

services.Configure<IdentityOptions>(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。                        
    });

二、修改cookie配置

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

//应用程序的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状态并重定向到登录路径。
            });

 

posted @ 2018-02-02 08:31  沉默种子  阅读(458)  评论(0编辑  收藏  举报