Ich erstelle 1 Website mit Web API und eckig js und ich bin so viel verwirrt über die Authentifizierung in meiner Website verwendet werden.Authentifizierungsansatz in asp.net zu verwenden Web API und eckig js
Ich habe eine login.js erstellt, in der es meine Login-Methode geben würde, die meinen Benutzernamen/E-Mail-Adresse und Passwort an meine Web-API sendet und die Methode in Web-API wird diesen Benutzer authentifizieren.
Code:
$scope.Login()
{
$.post("api/Authentication/Login",Username,Password)
{
}
}
Web api Code:
[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??
}
Sitzung zu verwenden ist Katastrophe wie durch Darin Dimitrov in seiner Antwort und Kommentaren darauf hingewiesen. Also habe ich beschlossen, Cookies zu verwenden, wie pro diese Antwort und eine der E-Commerce-Website, die Nop Commerce verwendet Cookie ist auch zur Zeit zu speichern anmelden Kundenobjekt gemäß dieser Frage und Antwort Question
ich diesen Code von LukeP vorgeschlagen folgende bin in Diese Question für die Authentifizierung Zweck und Aufrechterhaltung der aktuellen Login-Benutzerobjekt über meine gesamte Anwendung.
Ich habe über asp.net Anspruch Identität zu lesen, aber weiß nicht, ob ich es in meinem asp.net Web-api und Winkel js verwenden kann.
So kann jemand mir sagen, was ist der richtige Ansatz für die Authentifizierung in asp.net Web-api und Winkel js zu verwenden und was alle Änderungen in LukeP Code getan werden mit Web-api und Winkel js arbeiten ??
Kann mir jemand über diese Apprain erklären, die ich oben mit einiger Detailbeschreibung und einigen Codes auch gezeigt habe, wie es mir und einigen anderen auch helfen kann, wenn sie nach demselben suchen.
Später werde ich 100 Bounty auf die Antwort anbieten, die alle obigen Bedenken mit einigen Codes adressiert.
können Sie bitte eckigen js-Code auch für das, was Sie sagen, mit $ httpProvider.interceptors.push und config.headers ['Authorization'] = 'Bearer' + accessToken; –
Ich sollte auch beachten, dass wenn Sie eine Last-ausgeglichen-Setup verwenden, dann müssen Sie sicherstellen, dass der geheime Schlüssel auf allen Servern identisch ist. Dies geschieht mit dem 'machineKey' Eintrag in web.config siehe https://msdn.microsoft.com/en-us/library/ff649308.aspx – Mike
Ihr Ansatz von Interceptor ist ziemlich gut, aber ich bin ein wenig verwirrt wie zu verwenden dieser Abfangjäger mit meinem jedem HTTP-Anruf. Sie haben irgendein Demonstrationsprojekt, das Ihr Konzept veranschaulicht, das mehr helpfull.can Sie bitte es oder irgendein Link von sein würde, wo ich dieses bekommen kann ??? –