A. *_*ora 2 asp.net-mvc asp.net-identity
我使用带有Identity v2的Asp.Net MVC5进行身份验证.我为用户创建编写的函数在开发过程中完美运行.但是,由于我几天前已经发布了生产,因此我有时会获得CreateAsync(user,pass)方法的异常.这是我的简化代码:
var store = new UserStore<SiteUser>(dc);
var userManager = new UserManager<SiteUser>(store);
var user = new SiteUser
{
UserName = email,
Email = email,
MemberID = member.MemberID
};
var createResult = await userManager.CreateAsync(user, rawPassword);
if (!createResult.Succeeded)
throw new Exception("User Creation Failed - Identity Exception");
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么我有时会得到这个例外?换句话说,这种CreateAsync方法将返回的条件是什么!createResult.Succeeded?
感谢@ alex-art,我能够找出问题所在.UserManager该类中定义的规则不接受电子邮件/用户名中的非字母数字值.我扩大UserManager在ApplicationUserManager : UserManager包括
AllowOnlyAlphanumericUserNames = false
解决这个问题.
我能够通过查看createResult.Errors列表来识别问题(由@ alex-art指出.我通过将我的异常日志更改为:
if (!createResult.Succeeded)
{
var exceptionText = createResult.Errors.Aggregate("User Creation Failed - Identity Exception. Errors were: \n\r\n\r", (current, error) => current + (" - " + error + "\n\r"));
throw new Exception (exceptionText);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4696 次 |
| 最近记录: |