В настоящее время мы переносим часть приложений для внутренней сети в MojoPortal (приложение cms с открытым исходным кодом). MP использует FormsAuth по умолчанию, и мы настроили его для аутентификации в нашем текущем хранилище Active Directory.
При этом мы стремимся автоматически регистрировать пользователей из текущей системы в новую систему, чтобы обеспечить беспроблемную работу. Новая система (mojo), расположенная на другом сервере, чем текущая система. Оба живут в одном домене "company.com" с разными поддоменами.
Mojo, проверяет аутентификацию с помощью файла cookie FormsAuthentication, который создается, когда пользователь входит в систему через интерфейс mojo. Мы хотим восстановить эту функцию удаленно. Я понимаю, что FormsAuth основан на MachineKey и живет в одном веб-экземпляре IIS, но мне любопытны любые идеи, которые могут возникнуть у сообщества.
Текущие «лучшие» догадки, которые мы придумали здесь:
Создание веб-службы WCF, которая находится в виртуальном каталоге на сайте mojo, принимает имя пользователя / пароль и создает cookie. Это не проверено, так как мы не уверены, повлияет ли это на клиента.
Перенаправить пользователя на промежуточную страницу под mojo, которая принимает имя пользователя / пароль и создает cookie, после чего перенаправляет пользователя на нужную страницу mojo.
При этом MojoPortal используется в качестве поставщика, но реальная проблема заключается в том, как удаленно создать файл cookie FormsAuthentication.
Дополнительная справочная информация:
Текущая система уже аутентифицируется в том же хранилище AD, поэтому не стоит беспокоиться о создании файлов cookie для несуществующих пользователей. Оба сервера находятся в одном домене AD (физически они находятся рядом друг с другом). Исходный код текущей системы доступен нам и может быть изменен.