Я создаю 1 веб-сайт, используя Web api и angular js, и я настолько смущен об аутентификации, которая будет использоваться на моем веб-сайте.
Я создал один login.js, в котором будет мой метод входа, который выведет мое имя пользователя/электронной почты и пароль на мой веб-Api, и метод в веб-api будет аутентифицировать этого пользователя.
код:
$scope.Login()
{
$.post("api/Authentication/Login",Username,Password)
{
}
}
Код веб-api:
[Route]
Public Task<object> Login([FromBody] username,password)
{
//method to authenticate user from database.
//Now the tricky parts comes like after authenticating user should i
//just store the user id in my session like this Session["userid]=id or
//Should i go for storing whole user object in my cookie as i have read
//that storing data in session is very bad idea and disaster too as session is very memory
//and so i think i would go for cookie which will be saved on client side.
//but what if cookie isnt supported by browser??
}
Использование сеанса - это катастрофа, о которой говорил Дарин Димитров в своем ответе и комментариях. Поэтому я решил использовать cookie в соответствии с этим ответом, и один из сайтов электронной торговли, который Nop Commerce использует cookie также для хранения в настоящее время объекта для входа в систему в соответствии с этим вопросом и ответом Вопрос
Я следую этому коду, предложенному LukeP в этом Question для целей аутентификации и поддерживая текущий пользовательский объект входа во всей моей appilcation.
Я тоже читал об идентификаторе претензии asp.net, но не знаю, могу ли я использовать его в моем asp.net web api и angular js.
Так может кто-нибудь сказать мне, какой правильный подход использовать для аутентификации в asp.net web api и angular js и что все изменения должны быть сделаны в LukeP для работы с web api и angular js??
Может кто-нибудь объяснить мне об этой оценке, которую я указал выше, с некоторым подробным описанием и некоторыми кодами, так как это может помочь мне и некоторым другим, если они ищут то же самое.
Позже я предложат 100 баунти ответу на все вышеперечисленные проблемы с некоторыми кодами.