У меня есть приложение ClickOnce, используемое для просмотра некоторых документов на веб-сайте. При подключении пользователь видит список документов в виде ссылок на http://server/myapp.application?document=docname.
Он работал нормально, пока мне не пришлось интегрировать систему аутентификации / безопасности веб-сайта в мое приложение.
Сайт использует систему тикетов для предоставления доступа своим пользователям. Билет генерируется веб-приложением и должен быть добавлен в строку запроса URL-адреса развертывания, затем я должен проверить при запуске приложения, что заявка, указанная в строке запроса, была правильной, сделав другой запрос к веб-приложению. Таким образом, URL-адрес развертывания становится примерно таким: http://server/myapp.application?document=docname&ticket=ticketnumber.
Проблема в том, что билет действителен только 10 секунд, поэтому я должен получить его только после того, как пользователь нажал на ссылку. Моей первой попыткой было заставить некоторый javascript выполнить запрос, чтобы получить билет, сгенерировать правильный URL-адрес развертывания и затем перенаправить пользователя на этот URL-адрес с помощью "window.location = deployUrl;".
В Firefox работает нормально, но IE не запрашивает у пользователя установки. Я предполагаю, что это ограничения безопасности ClickOnce, но я могу выполнить перенаправление при выполнении на локальном хосте, поэтому я надеюсь, что есть обходной путь. Я также добавил сервер в список «доверенных сайтов» в опциях IE.
Возможно ли, чтобы это работало в IE? Какие у меня есть еще варианты?