0

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

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

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);
    }

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

4

1 回答 1

1

使用

RedirectFromLoginPage(
    string userName,
    bool createPersistentCookie
) 

方法你必须在查询字符串中有 ReturnURL 变量名。见规格。所以它不会到达return RedirectToAction("MemberSite", "Home")or return RedirectToAction("AdminSite", "Home")。如果您将注释掉该方法,它会将您重定向到给定的操作。

于 2012-05-07T08:59:06.210 回答