Защита веб-сервисов asp.net от флеш-памяти - PullRequest
1 голос
/ 18 октября 2010

моя команда строит игру во флэш-памяти для встраивания в приложение asp.net.

Когда игра окончена, игрок может набрать свое имя, чтобы сохранить свой счет. Это делается с помощью веб-сервисов, вызываемых из flash. Веб-сервис получает имя и оценку.

Поскольку веб-сервис общедоступен, как я могу сделать его доступным только из моей флеш-памяти при следующих условиях:

  • .swf размещается в том же приложении asp.net
  • Есть два домена, которые могут получить доступ к одному и тому же приложению (я уже сталкивался с междоменными проблемами).
  • Использование SSL не вариант.
  • Веб-служба должна использоваться файлом .swf.

Любая помощь или код будет оценен.

1 Ответ

2 голосов
/ 19 октября 2010

Ну, если вы хотите использовать веб-приложение ASP.NET вместо веб-службы, у меня есть решение, которое работало над моим проектом.

Вы можете отправлять переменные из flash на свою страницу ASP.NET, используя LoadVars' and 'sendAndLoad. затем можете получить значения на веб-странице .NET, используя Request.Form. Теперь, когда у вас есть все переменные от Flash до вашей веб-страницы .NET, выполняйте все, что вам нужно (Ado.NET или Отправка почты пользователю)

Вот пример , с которого вы можете начать, хотя он и находится в ASP, и может быть легко использован в ASP.NET.

Но если вы пытаетесь использовать коннектор webService во Flash, я не уверен в этом и не понимаю, зачем использовать веб-сервис, а мы можем использовать webapp?

Crossdomain.xml (файл политики) здесь действительно важен.

Редактировать
Для отправки данных из флэш-памяти в веб-сервис мы можем использовать следующий подход:

var wsConn:WebServiceConnector = new WebServiceConnector();
wsConn.addEventListener("status",fault);
wsConn.addEventListener("result",res);
wsConn.multipleSimultaneousAllowed = true;
//The following WSDL has been deployed locally. Most cases you will have another URL
wsConn.WSDLURL = "http://localhost/flightstatus/FlightHistoryService.wsdl";
//Method you need to call
wsConn.operation = "FlightHistoryGetHistoryOperation";
//Will Send the params as an array to the Webservice
wsConn.params = [flightHistoryRequest];
//wsConn.suppressInvalidCalls = true;
  wsConn.trigger();

Для полной ссылки, пожалуйста, обратитесь к статье в моем блоге .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...