我有这个测试帐户,保存在AspNetUsers (带密码),AspNetRoles和AspNetUserRoles中。我想要的是仅使用UserName (无密码)登录此帐户。
我尝试使用SignInManager.SignInAsync()
但是当它重定向到具有Authorize属性的页面时失败了,似乎它没有对用户进行身份验证。
public ActionResult Confirmation(string userName)
{
var user = UserManager.FindByName(userName);
SignInManager.SignInAsync(user, true, true);
return RedirectToAction("Action", "Controller");
}
[Authorize(Roles = "Member")]
public ActionResult Action()
{
// do something
}
如何正确地做到这一点?