2013-09-19 2 views
0

Если у меня есть 2 ASP.NET MVC-сайта (возможно, на отдельных серверах), и я хочу отобразить форму на сайте A, которая POSTs на действие на сайте B, можно ли разделить настройку AntiForgeryToken так, чтобы, если сайт A включает AntiForgeryToken в форме, он успешно пройдет проверку проверки Anti Forgery на сайте B?Создавать AntiForgeryToken на одном сайте и проверять на другом?

Таким образом, в Site A страница имеет форму с действием установлен на сайт B Url с:

@Html.AntiForgeryToken() 

А на сайте B действие будет отправлять сообщения в украшено:

[HttpPost] 
    [AllowAnonymous] 
    [ValidateAntiForgeryToken] 

Сценарий здесь заключается в том, что нам нужно разрешить логин на сайт B из формы на сайте A.

Если это возможно, есть ли еще какие-то другие проблемы, за которыми мы должны следить?

ответ

2

Вся цель атрибута @Html.AntiForgeryToken() и атрибута [ValidateAntiForgeryToken] заключается в том, чтобы запретить пользователям отправлять формы из другого домена.

Для этого токена анти-подделки использует файлы cookie. Поскольку вы не можете делиться кукисами по нескольким доменам, cookie, созданный на вашем сайте A, не будет доступен на сайте B.

Таким образом, я думаю, что то, чего вы хотите достичь, невозможно.

Смежные вопросы