У нашего клиента есть требование для расширения функциональности их существующего большого правительственного проекта. Это - ASP.NET 3.5 (недавно обновленный от 2,0) проект.
Существующим решением является настоящая громадина, которая почти неудобна в сопровождении, таким образом, они решили, что хотят обеспечить новую функциональность путем хостинга его на другом веб-сайте, который показывают в существующем веб-сайте.
Относительно того, как это является лучшим, чтобы быть сделанным, я не совсем уверен прямо сейчас и если существуют какие-либо проблемы безопасности, предотвращающие его или который нужно рассмотреть.
По существу пользователь вошел бы в систему существующего веб-сайта, столь же нормального и при нажатии на определенную ссылку, которую страница загрузит как нормальный некоторым кадром или управлением, которое имеет в нем содержание страницы от другого сайта. IE. Они не хотят просто перенаправлять на другой сайт, они хотят показать, что он встроил в текущем, таким образом, что существующие меню и т.д. все еще доступны.
Я верю, должна ли информация была быть передана встроенной странице, она была бы сделана с помощью строк запроса, поскольку я не уверен, существует ли даже другой способ выполнить это.
Может любой давать мне некоторые подсказки по тому, где запустить при том, чтобы смотреть на реализацию это или любые потенциальные ловушки, я должен знать.
Спасибо
если 2 сайта размещены в одной сети (низкая задержка между ними), вы можете использовать сервер состояний для управления сеансом. Таким образом, когда вы аутентифицируетесь на одном сайте, вы также будете аутентифицированы и на другом, и поделитесь между ними пользовательским состоянием.
это довольно просто, в вашей веб-конфигурации каждого веб-сервера вы должны указать на государственный сервер (который может быть расположен на одном из веб-серверов)
<configuration>
<system.web>
<sessionState mode="StateServer"
stateConnectionString="192.168.1.103:42424"
/>
</system.web>
</configuration>
Я бы предложил сделать второй сайт точно таким же, как первый, или, по крайней мере, использовать ту же MasterPage, чтобы вы могли перенаправлять с одного сайта на другой без каких-либо визуальных различий.
Если ваш сайт нуждается в аутентификации, подумайте о том, что вам нужно будет сделать что-то, чтобы пользователь не смог войти в систему дважды, вариантом может быть отправка зашифрованного токена на второй сайт.
Все это если вы вынуждены иметь второй сайт, если нет, просто используйте виртуальный каталог
создайте виртуальный каталог под основным доменом. Если ваш домен www.mydomain.com, то создайте виртуальный каталог www.mydomain.com/site и перенесите новое приложение сайта в виртуальный каталог /site. Это связывание должно стать очень важным. При этом приложение с виртуальным каталогом также сохранит все доменные cookies, установленные основным доменом.
Я бы использовал iFrame для встраивания этого сайта в существующее приложение. Просто установите атрибут "src" и передайте любые параметры строки запроса, необходимые другому сайту для корректного отображения.
Вы все еще можете передавать конфиденциальные данные в строке запроса, однако перед отправкой они будут обязательно зашифрованы.
Я знаю, что это не самое элегантное решение, но оно позволяет решить поставленную задачу. А судя по описанию существующего приложения, не похоже, что ваш клиент заботится об "элегантности" :)
Надеюсь, это поможет
.Вы можете использовать что-то вроде UFrame. Я использовал его пару раз и, кажется, он неплохо справляется со своей задачей...
"goodness of UpdatePanel and IFRAME combined"