您好,我有在线课程网站。我有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);
}
答案 0 :(得分:1)
您可以使用HttpContext.Current.Request.UrlReferrer.ToString();
然后显示相应的登录屏幕。
答案 1 :(得分:0)
您需要将此类信息保存在某个地方,也许是在数据库中?如果是这样,您使用数据库中的列来保存源重定向,以便您可以查询和测量未来。您可以在重定向之前传递它。