Общая картина: меня попросили создать поисковую систему для внутренней сети нашей компании. Такая поисковая система будет сканировать страницы, предоставленные ей XML-файлами, для каждого независимого приложения в интрасети. Проблема в том, что вся интрасеть использует проверку подлинности с помощью форм, и поэтому сканер должен иметь доступ к каждому приложению без фактических учетных данных пользователя (например, имени пользователя и пароля).
Доступ к каждому приложению в интрасети контролируется диспетчером разрешений, который, по сути, является оберткой для стандартного Role Manager ASP.NET. Каждое приложение может определять свои собственные роли и назначать людей с такими ролями.
Обратите внимание, что существует потенциально сотни приложений.
Искатель имеет доступ к базе данных диспетчера разрешений, поэтому он знает, каковы все роли. Поэтому моя идея состояла в том, чтобы сканер создал cookie, который идентифицирует его как имеющий все роли для каждого приложения.
Проблема, с которой я сталкиваюсь, заключается в следующем: как создать файл cookie для проверки подлинности форм, которому уже назначены роли, без создания соответствующего пользователя (IPrincipal).
Вполне возможно, что я не смог полностью понять, как работает Аутентификация с помощью форм, и если да, скажите, пожалуйста, что я могу сделать по-другому.