2017-10-21 137 views
0

在MVC中,編寫項目時,會寫入登錄方案,登錄屏幕和註冊表以及所有內容。登錄後在mvc5中重定向

我創建了管理頁面,但是如果我還沒有創建cookie,在進入頁面之前,請向我發送登錄頁面。我想在登錄後執行此操作。登錄後,我不知道如何重定向到管理頁面。

您有代碼本身在編寫項目時編寫viewbag.retutnurl,但我確實不知道控制器是什麼。

現在我不確定價值來自哪裏。

如果有人知道確切和完成,請告知。

+0

您是使用生成的身份驗證還是您自己的身份驗證? – Nick

+0

我使用生成的身份驗證 – hamed

回答

0

在默認生成的方法改變第一case,當登錄成功後,其執行,並在這裏添加您自定義重定向這樣的:

switch (result) 
      { 
       case SignInStatus.Success: 
        return RedirectToAction("Index", "Admin", null); // new code 
       case SignInStatus.LockedOut: 
        return View("Lockout"); 
       case SignInStatus.RequiresVerification: 
        return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false }); 
       case SignInStatus.Failure: 
       default: 
        // If the user does not have an account, then prompt the user to create an account 
        ViewBag.ReturnUrl = returnUrl; 
        ViewBag.LoginProvider = loginInfo.Login.LoginProvider; 
        return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email }); 
      } 

而且在你的管理類,你應該把[Authorize]數據註釋

//admin controller 
[Authorize] 
public ActionResult Index() 
     { 

      return View(); 
     } 
0

您可以嘗試以下兩種方法中的任何一種來處理它。

public ActionResult Index() { 
    return RedirectToAction("AdminAction"); 
    //Or you can try this 
    return RedirectToAction("whateverAction", "whateverController"); 
} 
+0

在mvc中,當您創建項目時,它會生成所有登錄方案,甚至生成數據庫。它將自己設置一個重定向登錄到主頁和幾個returnUrl。它不知道它們在哪裏。 現在我想將該值從主頁更改爲管理頁面 我不想更改自己寫的內容,因爲它不是Login ActionResult。這是任務 hamed