Программно войти на сайт и перенаправить пользователя на страницу входа? - PullRequest
2 голосов
/ 15 марта 2010

Прямо сейчас у меня есть все сотрудники моей компании, которые заходят на внешний сайт, используя идентификатор компании, имя пользователя и пароль. Мы пытаемся интегрировать его в портал внутренней сети, который должен обеспечить беспрепятственный доступ к этому веб-сайту, не требуя от пользователя ввода этих учетных данных.

Есть ли способ сделать это программно (.NET C #)? Очень похоже на создание скриншотов. Могу ли я смоделировать соответствующее действие POST, а затем перенаправить пользователя на страницу входа?

Любая помощь приветствуется.

Спасибо.


Ответы [ 3 ]

1 голос
/ 15 марта 2010

Вы можете сделать <form> на своей странице, которая отражает форму входа на внешний сайт с тем же атрибутом action=, затем заполните put и отправьте его, используя Javascript.

Обратите внимание, что для этого необходимо отправить пароль пользователя в браузер, что никогда хорошая идея.

0 голосов
/ 15 марта 2010

Название для этой техники Single Sign-On. Нет единого способа сделать это, но появляющийся стандарт называется SAML. Это требует участия обеих сторон (автора и целевого веб-сайта), так что это, вероятно, выходит за рамки вашей текущей компетенции.

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

Лучше всего связаться с администратором целевого сайта и спросить, есть ли у них решение SSO (Single Sign On).

0 голосов
/ 15 марта 2010

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

Возможно, вы сможете что-то сделать с Javascript, который заставляет клиентский браузер отправлять сообщения напрямую третьему лицу с правильными учетными данными, смотрите команду jQuery Post.

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

...