4
我有兩種類型的角色[Admin,HelpDeskAdmin]。根據角色,ASP.net MVC會員重定向
我有一個登錄視圖(兩個用戶都去同一鏈接進行登錄),我想在登錄後檢查他們的角色,一旦通過身份驗證就重定向到他們各自的管理頁面。下面的代碼不會將第一次登錄的用戶標識爲角色並重新加載登錄頁面,這是他們第二次正確登錄時重定向。
這與第一次檢查時身份驗證Cookie不在位的情況有關嗎?我怎麼能完成這種情況?
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
FormsService.SignIn(model.UserName, model.RememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
if (Roles.IsUserInRole("Admin"))
{
//go to admin landing page
return RedirectToAction("Index", "Manage");
}
else if (Roles.IsUserInRole("HelpDesk"))
{
//go to helpdesk landing page
return RedirectToAction("Index", "Interview");
}
else /******FIRST TIME THROUGH IT ALWAYS GOES HERE *******/
return RedirectToAction("Index", "Home"); //not in any of those roles
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
好的,謝謝,我將重定向邏輯轉移到LoginRedirect Action方法中,一旦登錄驗證,我就重定向到該方法。 – jrob 2010-09-27 15:28:06