Я понимаю, что я выполняю функцию входа в систему незащищенно. Но так как я новичок, я не хочу сначала заходить слишком глубоко и предпочитаю делать это самым простым и простым способом.Простая функция входа с использованием RavenDB в MVC
До сих пор, что я сделал, у меня есть администратор Модель
public class Admin
{
public string AdminUsername { get; set; }
public string Password { get; set; }
}
У меня 2 просмотры именно AdminRegister.cshtml и AdminLogin.cshtml я сделал Реестр часть, Я знаю, что пароль не должен храниться в БД и хешировании паролей. Но на данный момент я просто хочу полностью завершить функцию входа в систему.
Их соответствующий способ действия в контроллере являются следующие
public ActionResult AdminRegister(Admin model)
{
using (var store = new DocumentStore
{
Url = "http://localhost:8080/",
DefaultDatabase = "foodfurydb"
})
{
store.Initialize();
using (var session = store.OpenSession())
{
session.Store(model);
session.SaveChanges();
}
}
return RedirectToAction("Home");
}
[HttpPost]
public ActionResult AdminLogin(Admin model)
{
Admin login = new Admin();
using (var store = new DocumentStore
{
Url = "http://localhost:8080/",
DefaultDatabase = "foodfurydb"
})
{
store.Initialize();
using (var session = store.OpenSession())
{
var adminInput = session
.Query<Admin>()
.Where(u => u.AdminUsername.Equals(model.AdminUsername) && u.Password.Equals(model.Password));
if (adminInput != null)
{
}
}
}
return View();
}
Для входа в части, я предполагаю, что я должен запросить, чтобы проверить, является ли пользователь с определенным именем и паролем существует в БД или нет. И затем, я застрял и не знаю, как сравнить вход для входа и данные из db! Цените, если кто-то добрый, чтобы вести меня! Просто простой! Большое спасибо.
Узнайте, существует ли пользователь первым
var count = session
.Query<Admin>()
.Where(u => u.AdminUsername == model.AdminUsername);
if (count > 0)
{
return RedirectToAction("AddRestaurant");
}
else
{
// user exist in db
return RedirectToAction("Home");
}
мне удалось выяснить, является ли имя пользователя в поле логина существует в БД или нет. Если да, то он войдет в систему, иначе он останется на домашней странице. Но до этого этапа у меня нет идеи, как проверить пароль. Цените, если кто-нибудь может направить меня на это.