2017-10-21 142 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