나는 내 응용 프로그램AngularJS와는
을의 인증을 관리하기 위해 수행 한 AngularJS와 서비스에 내 로그인 형태로 면도기 MVC 도우미에 의해 생성되는 RequestVerificationToken를 전달하고 싶은 서비스에 requestVerificationToken를 전달 내 (가) @ Html.AntiForgeryToken() 이런 식으로 렌더링
<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>
:
이<input name="__RequestVerificationToken" type="hidden" value="AVzyqDKHSPjaY7L_GTpkasMAABRQRVRFUkFMSUVOV0FSRVxQZWRybwA1">
내 AngujarJs 컨트롤러가 성공적으로 주입 형태는이 다음이다 LY 내 "loginService"내가
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-net-webapi-implement-csrf-on-the-server – Chandermani
예, 서비스 스탁을 사용하고 있습니다. 나는 모든 것을 다 다루었습니다. 매개 변수를 서비스에 전달하는 방법을 알아야합니다! 사실 내가 여기에 설명 된 것과 비슷한 접근 방식을 따르고 있다고 생각합니다. http://stackoverflow.com/questions/15444781/angularjs-cant-find-xsrf-token-cookie –
내 답변이 도움이 되었습니까? –