如何检查用户使用的链接?

时间:2016-01-11 03:28:49

标签: c# jquery asp.net-mvc asp.net-ajax

您好,我有在线课程网站。我有authorizecontroller用于管理区域,您可以通过键入www.name.com/area访问该区域,然后登录并转到管理区域。我还需要学生在这里登录,但他们应该转到wwww.name.com./LoginStudent之类的不同链接。因此,学生将来自页面www.name.com/Course/Detail,并在详细页面按钮中引导他/她登录管理区域中的控制器。所以我想检查用户是否来自www.name.com/Course/Detail我想将他/她重定向到wwww.name.com./LoginStudent我如何控制他来自哪里? 这是我的登录控制器;

public ActionResult Login(string returnUrl, LoginModel input)
    {
        if (!ModelState.IsValid)
        {
            ShowErrorMessage("Hatalı Giriş Yaptınız.");
            return View(input);
        }


        var yonetici = Db.Members.FirstOrDefault(p => p.Mail == input.EMail && p.Active == true && p.Authority == Authority.Admin);
        if (yonetici == null)
        {
            ShowErrorMessage("Hatalı E-Posta adresi.");
            ModelState.AddModelError("EMail", " ");
            return View(input);
        }

        if (yonetici.ValidatePassword(input.Sifre) == false)
        {
            ShowErrorMessage("Hatalı şifre");
            ModelState.AddModelError("Sifre", " ");
            return View(input);
        }

我不想通过按下按钮发送登录页面,因为我使用[Authorize]所以它会检查是否已经插入

我做到这一点是为了让它变得简单,但如何让它在页面加载上工作

 var itemUrl = Request.Url.ToString();
        if (itemUrl.Contains("Participant"))
        {
            ShowErrorMessage("Hatalı Giriş Yaptınız.");
            return View(input);
        }

2 个答案:

答案 0 :(得分:1)

您可以使用HttpContext.Current.Request.UrlReferrer.ToString();

找到上一页(引荐来源)

然后显示相应的登录屏幕。

答案 1 :(得分:0)

您需要将此类信息保存在某个地方,也许是在数据库中?如果是这样,您使用数据库中的列来保存源重定向,以便您可以查询和测量未来。您可以在重定向之前传递它。