asp.net-core – Microsoft.AspNet.Identity vnext中的UserValid
发布时间:2020-12-16 07:20:14 所属栏目:asp.Net 来源:网络整理
导读:我有一个问题,当我使用microsoft.aspnet.identity(在创建新项目时选择的个人用户帐户 – asp.net 5的默认mvc项目模板)时,我无法使用电子邮件地址作为用户名.我在很多地方都读到这是解决方案: UserManager.UserValidator = new UserValidatorApplicationUser
我有一个问题,当我使用microsoft.aspnet.identity(在创建新项目时选择的个人用户帐户 – asp.net 5的默认mvc项目模板)时,我无法使用电子邮件地址作为用户名.我在很多地方都读到这是解决方案:
UserManager.UserValidator = new UserValidator<ApplicationUser>(UserManager) { AllowOnlyAlphanumericUserNames = false }; 但是在新版本的asp.net身份中,UserManager似乎没有一个名为UserValidator的属性. “UserValidator”已被识别,但我想它现在以不同的方式添加到UserManager中.我无法在UserManager上看到任何相关属性. 编辑: github repo中的单元测试“Identity”对此案例进行了测试.它目前是此文件中的最后一个: https://github.com/aspnet/Identity/blob/dev/test/Microsoft.AspNet.Identity.Test/UserValidatorTest.cs 我想这应该给出答案的线索,但我不知道我的代码会在哪里. [Theory] [InlineData("test_email@foo.com",true)] [InlineData("hao",true)] [InlineData("test123",true)] [InlineData("!noway",true)] [InlineData("foo@boz#.com",true)] public async Task CanAllowNonAlphaNumericUserName(string userName,bool expectSuccess) { // Setup var manager = MockHelpers.TestUserManager(new NoopUserStore()); manager.Options.User.UserNameValidationRegex = null; var validator = new UserValidator<TestUser>(); var user = new TestUser {UserName = userName}; // Act var result = await validator.ValidateAsync(manager,user); // Assert if (expectSuccess) { IdentityResultAssert.IsSuccess(result); } else { IdentityResultAssert.IsFailure(result); } } 解决方法
在Startup类的ConfigureServices方法中,AddIdentity方法具有重载,允许配置不同的选项.
// Add Identity services to the services container. services.AddIdentity<ApplicationUser,IdentityRole>() .AddEntityFrameworkStores<ApplicationDbContext>() .AddDefaultTokenProviders(); 将其更改为以下允许将电子邮件地址用于用户名. // Add Identity services to the services container. services.AddIdentity<ApplicationUser,IdentityRole>(options => { options.User.UserNameValidationRegex = null; }) .AddEntityFrameworkStores<ApplicationDbContext>() .AddDefaultTokenProviders(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – SimpleMembershipProvider:webpages_Mem
- 在ASP.NET(C#)中创建动态RSS提要页面 – 我是否需要做额外的
- 未能加载文件或程序集或它的某一个依赖项
- asp.net – 无效的回发或回调参数.单击按钮时
- ASP.NET 5/ASP.NET Core中的关注点和n层架构的分离1
- asp.net-mvc-3 – 首先是ASP.Net MVC 3 EF4.1代码 – 不支持
- asp.net – DbFunctions.TruncateTime在ASP .NET CORE中的L
- asp.net-mvc-3 – 温莎城堡自动注入非公共财产
- asp.net-mvc – ASP.NET MVC Route,在控制器之前具有值,没有
- asp.net-mvc-3 – 比较(密码)属性
推荐文章
站长推荐
- 实体框架 – 具有实体框架的MVC MiniProfiler 5模
- asp.net-mvc – HTTP错误500.19 – 内部服务器错
- 自定义数据注释ASP.NET MVC C#
- asp.net – 在ASP .NET(SMTP)中发送邮件
- asp.net – UpdatePanel回发后调用Javascript函数
- asp.net-mvc – Html.CheckBox返回false如果禁用
- asp.net – 如何禁用谷歌chrome的建议列表使用tw
- asp.net-mvc – ASP.NET MVC 3从同一表单保存和编
- asp.net-mvc – 模拟DataServiceQuery
- 为什么在ASP.Net中向StatusDescription添加换行符
热点阅读