Предотвратить нескольких учетных записей в MVC
у меня есть две таблицы имя регистрация и логин,
когда пользователь входит в систему, идентификатор пользователя и его статус=1 будут храниться в таблице Logins, а когда пользователь выходит из системы, Статус станет 0.
моя проблема заключается в том, как я должен проверить во время входа в систему, что пользователь уже вошел в систему или нет,
любые условия if для проверки, ниже приведен мой код
public ActionResult GetLogin(Register d, Login r) { using (simpleEntities _LoginEntities = new simpleEntities()) { var user = _LoginEntities.Registers.Where(u => u.Email.Equals(d.Email) && u.Password.Equals(d.Password)).FirstOrDefault(); string message = "User already logged in"; //List<Login> abc = new List<Login>(); //bool aa = false; //var user1 = _LoginEntities.Logins.Where(u => u.LogID.Equals(user.ID) && u.Status==(false)).FirstOrDefault(); if (user != null) { //SELECT * // FROM Notification n // LEFT OUTER JOIN Acknowledgment a ON a.parent_id = n.id // WHERE (a.parent_id IS NULL OR a.status = @somevalue) List<Login> ddd = new List<Login>(); ddd = (from a in db.Logins where a.LogID == user.ID where (a.Status == (false)) select a).ToList(); if (ddd!=null) { Session["ID"] = user.ID.ToString(); Session["Email"] = user.Email.ToString(); Session["Username"] = user.Fname.ToString() + "" + user.Lname.ToString(); return RedirectToAction("UserDashBoard"); } else { return Json(message, JsonRequestBehavior.AllowGet); } } return View(); } }
Что я уже пробовал:
я попробовал с условиями if, сначала он проверяет в таблице register, затем в таблице login, но безуспешно, пожалуйста, помогите мне с этим
F-ES Sitecore
Ты не можешь.
https://forums.asp.net/post/5825784.aspx
Dheerajs975
я просто хочу сделать свой сайт более безопасным... и это возможно,
например, когда пользователь вводит свои учетные данные для входа в систему, система сначала проверяет в таблице регистрации, что учетные данные верны или нет. если да, то он войдет в таблицу входа и проверит, что введенный статус входа в систему является истинным или ложным, если его истинный, то он не позволит войти в систему, а если его ложь, то пользователь будет перенаправлен на панель мониторинга или домашнюю страницу
F-ES Sitecore
Почему предотвращение нескольких Логинов делает ваш сайт более безопасным? Если я решу войти в свою веб-почту на двух вкладках, почему это менее безопасно, чем войти только один раз?
Dheerajs975
что я могу сделать, если клиент попросит меня предотвратить многократный вход в систему..?
автор хочет предотвратить несколько входов в систему с одним и тем же именем пользователя и паролем
F-ES Sitecore
Вы говорите им, что это невозможно, и объясняете, что в этом нет никакой ценности. Частью работы разработчика является управление ожиданиями клиентов.
Dave Kreskowiak
Веб-приложения обычно не имеют такого ограничения из-за своей отключенной природы. Думать об этом. Если пользователь входит в систему, выполняет какую-то работу, а затем закрывает окно браузера, не выходя из системы, что тогда? Каков ваш план, чтобы позволить пользователю снова войти в систему?
Предотвращение нескольких входов в систему не делает ваш сайт более безопасным, но делает его более похожим на службу поддержки и кошмар управления.