Я пытаюсь установить Регистрация и Вход для участия в конкурсе Hot Towel SPA. Я создал SimpleMembershipFilters и ValidateHttpAntiForgeryTokenAttribute на основе asp.net single page application template.ValidateAntiForgeryToken с архитектурой SPA
Как получить код
@Html.AntiForgeryToken()
работать в структуре Durandal SPA.
В настоящее время у меня есть register.html
<section>
<h2 data-bind="text: title"></h2>
<label>Firstname:</label><input data-bind="value: firstName" type="text" />
<label>Lastname:</label><input data-bind="value: lastName" type="text" />
<label>Email:</label><input data-bind="value: emailAddress" type="text" />
<label>Company:</label><input data-bind="value: company" type="text" />
<br />
<label>Password:</label><input data-bind="value: password1" type="password" />
<label>Re-Enter Password:</label><input data-bind="value: password2" type="password" />
<input type="button" value="Register" data-bind="click: registerUser" class="btn" />
</section>
register.js:
define(['services/logger'], function (logger) {
var vm = {
activate: activate,
title: 'Register',
firstName: ko.observable(),
lastName: ko.observable(),
emailAddress: ko.observable(),
company: ko.observable(),
password1: ko.observable(),
password2: ko.observable(),
registerUser: function() {
var d = {
'FirstName': vm.firstName,
'LastName': vm.lastName,
'EmailAddress': vm.emailAddress,
'Company': vm.company,
'Password': vm.password1,
'ConfirmPassword': vm.password2
};
$.ajax({
url: 'Account/JsonRegister',
type: "POST",
data: d ,
success: function (result) {
},
error: function (result) {
}
});
},
};
return vm;
//#region Internal Methods
function activate() {
logger.log('Login Screen Activated', null, 'login', true);
return true;
}
//#endregion
});
В АЯКС вызова $ как я прохожу AntiForgeryToken? Также как я могу создать токен?
Как вы называете 'ValidateRequestHeader'? –
Я бы создал фильтр действий, потому что это проблема с перекрестным соединением и представляет собой ориентированный на аспект дизайн. Таким образом, вы можете просто указать методы, которые вы хотите применить для этой безопасности. –
FYI: атрибут реализует 'IAuthorizationFilter', но отсутствует метод' public void OnAuthorization (AuthorizationContext filterContext) '. – Jaans