Ich möchte eine RequestVerificationToken passieren, die von einem Razor MVC Helfer in meinem Login-Formular an einen AngularJS Dienst generiert wird, die ich getan habe, die Authentifizierung von meiner AnwendungAngularJS passieren requestVerificationToken zu einem Dienst
meine verwalten Form ist die folgende:
<div ng-model="loginRequest" >
<form ng-submit="submit()" ng-controller="loginCtrl">
@Html.AntiForgeryToken()
<input id="username" ng-model="loginRequest.Username" type="text" name="text" />
<input id="password" ng-model="loginRequest.Password" type="text" name="text" />
<input type="submit" id="submit" value="Submit" />
<br/>
isValid: {{loginRequest.isValid}}
<br/>
username: {{loginRequest.Username}}
<br/>
Password: {{loginRequest.Password}}
</form>
</div>
das @ Html.AntiForgeryToken() auf diese Weise macht:
<input name="__RequestVerificationToken" type="hidden" value="AVzyqDKHSPjaY7L_GTpkasMAABRQRVRFUkFMSUVOV0FSRVxQZWRybwA1">
mein AngujarJs Controller erfolgreich injiziert ly meine „loginService“ und ich kann der Service
function loginCtrl($scope, loginService) {
$scope.submit = function() {
loginService.authenticate($scope.loginRequest,function(data) {
$scope.loginRequest.isValid = (data.User!=null);
//console.log(data);
});
};
}
über Pfosten den Benutzernamen und das Passwort an den Dienst senden:
angular.module('App.services', ['ngResource']).
factory('loginService',
function ($resource) {
return $resource('/Api/User/login', '',
{
authenticate: {
method: 'POST',
isArray: false,
headers: { 'X-XSRF-Token': '?????' }
}
});
});
meine Frage ist, wie kann ich das Token lesen in der Form gemacht und Übergeben Sie es an den Dienst und setzen Sie eine Kopfzeile mit dem Token aus dem Login-Formular, so weit ich weiß, ist nicht eine gute Praxis, das DOM zu manipulieren, und ich weiß nicht, ob ich eine Direktive erstellen muss, um das auszuführen Aufgabe, damit irgendwelche Vorschläge willkommen sind!
Hoffnung haben Sie bei http://www.infoq.com/news/2012/10/anti-forgery-aspnet-json sah und http://stackoverflow.com/questions/15574486/angular-against -asp-net-webapi-implement-csrf-auf-dem-server – Chandermani
ja ich tat, ich benutze servicestack für es Ich habe gerade alles abgedeckt Ich muss nur wissen, wie man den Parameter an den Service übergeben! in der Tat denke ich, dass ich einem sehr ähnlichen Ansatz wie dem hier beschriebenen folgen http://stackoverflow.com/questions/15444781/angularjs-cant-find-xsrf-token-cookie –
hat meine Antwort Ihnen überhaupt geholfen? –