Hii, когда я использовал autehntication на основе форм, используя в приложении MVC в то время после перенаправления страницы входа на страницу "account/login", что я могу сделать для решения
[Authorize] public ActionResult Home() { return View(); } public ActionResult Login() { return View(); } [HttpPost] public ActionResult Login(User_info ui,string returnUrl) { if (ModelState.IsValid) { using (CRM_DBEntities crm = new CRM_DBEntities()) { var details = crm.User_info.Where(a => a.Username.Equals(ui.Username) && a.Password.Equals(ui.Password)).FirstOrDefault(); if (details != null) { FormsAuthentication.SetAuthCookie(details.Username, false); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return Redirect(returnUrl); } else { return RedirectToAction("Home", "crm"); } //Session["Username"] = details.Email.ToString(); //return RedirectToAction("Home","crm"); } else { ModelState.AddModelError("", "The user name or password provided is incorrect."); return View(); } } } return View(); } [Authorize] public ActionResult Logout() { FormsAuthentication.SignOut(); return RedirectToAction("Index","Home"); }
Что я уже пробовал:
<system.web> <authentication mode="Forms"> <forms loginUrl="~/crm/Login" defaultUrl="~/" timeout="20" slidingExpiration="true"/> </authentication>
F-ES Sitecore
Вам нужно реализовать функцию "Запомнить меня" при входе в систему, у меня нет кода под рукой, но я считаю, что это свойство вы добавляете к методу входа человека в систему, чтобы узнать, хотите ли вы, чтобы логин был сохранен или нет. Это должно держать их в системе до тех пор, пока они не выйдут.
jay gandhi
я также пробовал Формаутентификацию.SetAuthCookie (подробнее.Имя пользователя, правда); но все равно возникла та же проблема ... что еще я могу сделать
Richard Deeming
Вы храните пароли в виде обычного текста. Не. Вы должны всегда хранить только соленый хэш пароля, используя уникальную соль для каждой записи.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хеширование паролей - все правильно[^]
Если вы использовали встроенный Идентичность[^] фреймворк, вместо того чтобы пытаться свернуть свой собственный, он бы позаботился о таких вещах за вас.