hnc*_*ncl 7 validation asp.net-mvc asp.net-identity
我的应用程序是MVC5,我尝试使用以下内容允许重复的电子邮件地址:
public async Task<ActionResult> AddUser (UserRegisterViewModel userViewModel)
{
......
if (ModelState.IsValid)
{
var user = new ApplicationUser
{
......
};
var adminresult = await UserManager.CreateAsync(user);
var result = await UserManager.AddToRolesAsync(user.Id, user.Profession);
UserManager.UserValidator = new UserValidator<ApplicationUser>(UserManager)
{
RequireUniqueEmail = false
};
if (adminresult.Succeeded)
{
....
return RedirectToAction("VisitInfo", "Visit");
}
if (!adminresult.Succeeded)
{
var er = adminresult.Errors.FirstOrDefault();
ViewBag.Error = er;
return View(userViewModel);
}
return RedirectToAction("VisitInfo", "Visit");
}
return View();
}
Run Code Online (Sandbox Code Playgroud)
通过添加RequireUniqueEmail = false.它没有用,页面被重定向到登录页面!! 我的问题是,我是否可以仅为此操作允许重复的电子邮件,以及为什么我会被重定向到登录页面?
Ros*_*sim 24
如果您使用的是默认的MVC 5项目模板,则正确的方法是设置规则IdentityConfig.cs而不是注册控制器.
打开App_Start\IdentityConfig.cs并编辑此行:
public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)
{
var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));
// Configure validation logic for usernames
manager.UserValidator = new UserValidator<ApplicationUser>(manager)
{
AllowOnlyAlphanumericUserNames = false,
RequireUniqueEmail = false //<-- the default is true
};
....<snip>....
Run Code Online (Sandbox Code Playgroud)
小智 8
您必须在 configureservices 添加以下行
services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
options.User.RequireUniqueEmail = false;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Run Code Online (Sandbox Code Playgroud)
感谢Brendan,我感动了
UserManager.UserValidator = new UserValidator<ApplicationUser>(UserManager)
{
RequireUniqueEmail = false
};
Run Code Online (Sandbox Code Playgroud)
之前:
var adminresult = await UserManager.CreateAsync(user);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9532 次 |
| 最近记录: |