我有使用UmbracoIdentity构建的成员登录。 (https://github.com/Shazwazza/UmbracoIdentity)
以下代码中的UserManager将返回null。我已经包含了获取UserManager的属性。
为什么这是空的?这与UmbracoIdentity软件包有关,还是由于升级到7.3而破坏了身份?我已经读过一些关于7.3中的变化的谣言,这些变化可能导致这种情况,但对我来说没有什么特别的确定。
[HttpPost]
[AllowAnonymous]
public async Task<ActionResult> HandleLogin([Bind(Prefix = "loginModel")] LoginModel model)
{
if (ModelState.IsValid)
{
// UserManager is null here - WHY!?
var user = await UserManager.FindAsync(model.Username, model.Password);
if (user != null)
{
await SignInAsync(user, true);
return RedirectToCurrentUmbracoPage();
}
ModelState.AddModelError("loginModel", "Invalid username or password");
}
return CurrentUmbracoPage();
}
public UmbracoMembersUserManager<UmbracoApplicationMember> UserManager
{
get
{
return _userManager ?? (_userManager = OwinContext
.GetUserManager<UmbracoMembersUserManager<UmbracoApplicationMember>>());
}
}
答案 0 :(得分:0)
我的UmbracoIdentityStartup
没有被执行。
我在web.config中有这一行:
<add key="owin:appStartup" value="UmbracoDefaultOwinStartup" />
评论这一行解决了这个问题。
我没有添加这一行,所以假设它与包有关,但是进一步检查了包的其他方法。