我想通過它由剃刀MVC幫手產生在我的登錄表單,我已經做了我的管理應用AngularJS傳遞requestVerificationToken到服務
認證的AngularJS服務RequestVerificationToken我格式如下:
<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>
這樣的@ Html.AntiForgeryToken()呈現:
<input name="__RequestVerificationToken" type="hidden" value="AVzyqDKHSPjaY7L_GTpkasMAABRQRVRFUkFMSUVOV0FSRVxQZWRybwA1">
我AngujarJs控制器注入成功LY我的「login服務」,我可以通過郵寄的用戶名和密碼發送到服務
function loginCtrl($scope, loginService) {
$scope.submit = function() {
loginService.authenticate($scope.loginRequest,function(data) {
$scope.loginRequest.isValid = (data.User!=null);
//console.log(data);
});
};
}
服務:
angular.module('App.services', ['ngResource']).
factory('loginService',
function ($resource) {
return $resource('/Api/User/login', '',
{
authenticate: {
method: 'POST',
isArray: false,
headers: { 'X-XSRF-Token': '?????' }
}
});
});
我的問題是我怎麼能閱讀的形式呈現的令牌和將它傳遞給服務,並使用從登錄表單中獲取的令牌設置標題,儘管我不知道如何操作DOM,但我不知道是否需要創建指令來執行該操作任務,所以任何建議,歡迎!
希望你已經看過http://www.infoq.com/news/2012/10/anti-forgery-aspnet-json和http://stackoverflow.com/questions/15574486/angular-against -Asp淨的WebAPI-CSRF最服務器上實施的, – Chandermani
是我沒有,I'm使用servicestack它我剛剛得到的一切覆蓋我只需要知道如何將參數傳遞給服務!其實我覺得我下面喜歡這裏http://stackoverflow.com/questions/15444781/angularjs-cant-find-xsrf-token-cookie描述 –
的一個非常類似的方法做了我的回答幫助你呢? –