我有一个使用UmbracIdentity构建的成员登录。(https://github.com/Shazwazza/UmbracoIdentity)
下面代码中的UserManager返回为null。我已经包含了获取UserManager的属性。
为什么这是空的?这是与UmbracIdentity包有关,还是由于升级到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>>());
}
}
我的UmbracoIdentityStartup
没有被执行。
我在web.config中有这样一行:
<add key="owin:appStartup" value="UmbracoDefaultOwinStartup" />
评论这一行解决了问题。
我没有加上这一行,所以我认为这与包裹有关,但检查包裹进一步表明情况并非如此。