2013-10-31 46 views
1

某些控制器 - 我的頁面中的操作使用[Authorize]屬性進行了修飾。登錄頁面的轉發工作完美,但成功登錄後,我想轉發到請求的網址。與Request.UrlReferrer我得到我來自哪裏的網址,但從哪裏獲得請求的操作(需要登錄)?如何在登錄前獲取請求者網址

感謝先進!

回答

1

Login()操作採用名爲returnUrl的字符串參數,將在從登錄重定向時使用該參數。

您可以將returnUrl添加到ViewBag並返回一個視圖。

對於例如:

public ActionResult Login(string returnUrl) 
{ 
    ViewBag.ReturnUrl = returnUrl; 
    return View(); 
} 

目標操作使用發佈數據來認證用戶,並使用FormsAuthentication登錄的用戶。然後它將用戶重定向回到returnUrl。

[HttpPost] 
public ActionResult Login(LoginModel model, string returnUrl) 
{ 
    if (//Validation Check) 
    { 
     FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); 
     return Redirect(returnUrl); // Redirect to referer 
    } 

    ViewBag.ReturnUrl = returnUrl; 
    ModelState.AddModelError("", "The user name or password provided is incorrect."); 
    return View(model); 
} 
+0

完美!謝謝:-) – core

+0

你是歡迎.. :) –

相關問題