Должен признаться, я новичок в MVC... так что сейчас все похоже на черную магию.
это код
public ActionResult LogIn(Models.profile profile)
{
if (ModelState.IsValid)
{
if(IsValid(profile.profile_email, profile.profile_password))
{
var db = new DatabaseContext();
var _id = db.profile.Where(u => u.profile_email == profile.profile_email).Select(n => n.profile_id).FirstOrDefault();
var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Email, profile.profile_email),
new Claim(ClaimTypes.Name, _id.ToString())},
"ApplicationCookie");
var ctx = Request.GetOwinContext();
var authmngr = ctx.Authentication;
authmngr.SignIn(identity);
return RedirectToAction("LogIn", "Main");
} else
{
ModelState.AddModelError("", "Something goes wrong");
}
}
return View(profile);
}
Мне удалось войти в систему с идентификацией, что было довольно сложно @_ @ Дело в том, что эти типы утверждений не слишком гибки из того, что я видел. Я имею в виду, что мне нужно выбрать что-то из списка, и я просто выбираю свои собственные свойства или что-то в этом роде.
Итак, я решил сохранить текущий идентификатор пользователя в файле ClaimTypes.Name
. Не уверен, что это хорошая идея. Я даже не уверен, что весь шаблон входа в систему является жизнеспособным; o
Но... к делу. Как мне получить информацию о пользователе только с этим утверждением, если там не будет идентификатора пользователя? Или как я могу вообще получить информацию о пользователях из базы данных, используя идентификатор утверждений?
Если есть что добавить, дайте знать ;3