0
在用戶成功登錄後,我希望頁面根據用戶角色重定向到合適的頁面。我有一些代碼工作,它允許我從登錄憑證中檢索和檢查用戶角色,但switch語句不允許我使用if-else語句。根據返回的switch語句中的用戶角色返回RedirectToAction()Views()的
它希望我返回一個View(),但我總是重定向到Home/Index
視圖。這裏是我的代碼:
switch (result)
{
case SignInStatus.Success:
MigrateShoppingCart(model.Email);
//returnURL needs to be decoded
string decodedUrl = "";
if (!string.IsNullOrEmpty(returnUrl))
decodedUrl = Server.UrlDecode(returnUrl);
if (Url.IsLocalUrl(decodedUrl))
{
return Redirect(decodedUrl);
}
string id = UserManager.FindByEmail(model.Email).Id;
IList<string> roleNames = UserManager.GetRoles(id);
if (roleNames.Contains("Admin"))
{
RedirectToAction("Index", "Category");
}
else
{
return RedirectToAction("Index", "Home");
}
return View();
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "Invalid login attempt.");
return View(model);
}
錯誤信息是什麼? –
即使用戶具有「管理員」角色,我也總是被重定向到「家庭/索引」視圖。 – naz786
如果之前可以共享角色名稱的值嗎? –