Я работаю над проектом asp.net mvc. Проект работает удивительно на локальном хосте. Однако когда я загружаю проект на сервер, у меня возникают некоторые проблемы. При входе в систему с компьютера он успешно регистрируется. Затемя пытаюсь войти в систему как другой пользователь, это работает. Теперь я перехожу к логину предыдущего пользователя и обновляю страницу, когда логин второго пользователя берет на себя регистрацию первого пользователя. В общем, логин предыдущего пользователя заменяется логином недавнего / последнего пользователя.Я много искал по этой проблеме, но ничего не нашел. Пожалуйста, поделитесь некоторыми предложениями по этой проблеме.
У меня есть контроллер с именем AuthenticateController, который выполняет действия, такие как вход в систему и выход из системы. Я попытался реализовать сессию, но безуспешноВот код. Пожалуйста, помогите мне с правильным кодом реализации сеанса, если это возможно, или если есть какие-то изменения, которые мне нужно внести в мой код. Было бы замечательно, если есть другой способ достижения аутентификации с правильным входом в систему и вопросом кнопки возврата.. Заранее спасибо !!
public class AuthenticateController : Controller
{
DBEntities entity = new DBEntities();
public static int userid = 0;
public static string getreference = string.Empty;
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(AuthenticateModel model)
{
try
{
var check = entity.TblName.Where(x => x.UserName == model.UserName && x.Password == model.Password).ToList();
if (check.Count > 0)
{
foreach (var r in check)
{
GlobalVaribale.UserId = r.UserId;
//FullName
GlobalVaribale.UserName = r.FullName;
GlobalVaribale.UserAccessLevel = r.AccessLevel.Value;
GlobalVaribale.OrgId = r.OrganisationId.Value;
Session["UserId"] = r.UserId;
Session.Timeout = 10;
}
return RedirectToAction("Index", "Home");
}
else
{
TempData["Wrong"] = "Invalid Credentials";
return View();
}
}
catch (Exception e)
{
Console.WriteLine(e);
return View();
}
}
public ActionResult Logout()
{
Session["UserId"] = null;
Session.Abandon();
GlobalVaribale.UserId = 0;
GlobalVaribale.UserName = string.Empty;
GlobalVaribale.UserAccessLevel = 0;
GlobalVaribale.OrgId = 0;
return RedirectToAction("Login");
}
}
}
Я создал глобальную папку, в которой у меня есть класс с именем GlobalVaribale. Код приведен ниже
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace TimeSheet.Global
{
public static class GlobalVaribale
{
public static int UserId = 0;
public static int OrgId = 0;
public static int UserAccessLevel = 0;
public static string UserName = string.Empty;
public enum AccessLevel
{
admin = 1,
management = 2,
employee = 3,
contractor = 4,
superamin = 5
}
}
}