代码之家  ›  专栏  ›  技术社区  ›  furkan

如何检查用户使用了哪个链接?

  •  0
  • furkan  · 技术社区  · 10 年前

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

    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 回复  |  直到 10 年前
        1
  •  1
  •   Abhijit Annaldas    10 年前

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

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

        2
  •  0
  •   Anderson Oki    10 年前

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