管理员重定向到管理站点,将用户重定向到用户站点

本文关键字:站点 用户 重定向 管理站 管理 管理员 | 更新日期: 2023-09-27 18:33:33

我正在尝试授权,如果您是管理员,您将被重定向到管理员站点。如果您是会员,它会将您重定向到会员网站。

这是我在控制器上的代码:

public ActionResult Index(Login model)
    {
        if (ModelState.IsValid)
        {
            if (model.IsUserExist(model.EmailId, model.Password))
            {
                if (Roles.IsUserInRole("Admin"))
                {
                    ViewBag.UserName = model.EmailId; 
                    FormsAuthentication.RedirectFromLoginPage(model.EmailId, false);
                    return RedirectToAction("AdminSite", "Home");
                }
                if (Roles.IsUserInRole("Member"))
                {
                    ViewBag.UserName = model.EmailId; 
                    FormsAuthentication.RedirectFromLoginPage(model.EmailId, false); 
                    return RedirectToAction("MemberSite", "MobileHome"); 
                }
            }
            else
            {
                ModelState.AddModelError("", "Wrong Email or Password!");
            }
        }
        return View(model);
    }

我不知道出了什么问题,但该网站只是停留在登录页面上。它只是在我以会员或管理员身份登录时刷新。它没有将我带到管理站点或成员站点。

管理员重定向到管理站点,将用户重定向到用户站点

使用

RedirectFromLoginPage(
    string userName,
    bool createPersistentCookie
) 

方法,您必须在查询字符串中包含 ReturnURL 变量名称。见具体化。所以它不会return RedirectToAction("MemberSite", "Home")return RedirectToAction("AdminSite", "Home").如果您注释掉该方法,它将重定向到给定的操作。