Аутентификация в сервисе WCF
Кажется, есть множество ресурсов о том, как это сделать, но я действительно не смог найти что-то, чтобы точно сделать то, что я хочу сделать. Я пытаюсь создать веб-сервис WCF, который потребует от пользователей аутентификации, чтобы иметь возможность что-либо делать (вызывать методы, см. WSDL и т. Д.). Аутентификация будет заказной частью, которую я напишу для подключения к нашему серверу LDAP. Я хотел бы использовать проверку подлинности с помощью форм, так как не хочу, чтобы клиент проходил повторную проверку подлинности при каждом запросе. Мне бы хотелось, чтобы служба просто отправляла клиенту файл cookie билета Forms Auth, который клиент может отослать обратно для будущих запросов (я согласен с тем, чтобы использовать это для клиентских сред, которые не поддерживают файлы cookie, например, для мобильных приложений). Однако на стороне службы мне нужно иметь возможность хранить в памяти данные для каждого пользователя, который хранит кэшированную копию групп аутентификации пользователя (чтобы избежать повторных вызовов на сервер LDAP), которые можно легко найти, используя только Формы аутентификационного билета. Я довольно новичок в WCF и проверке подлинности с помощью форм, поэтому я был бы признателен, если бы вы не пропустили "простые" вещи. Спасибо!
1 ответ
Мне кажется, что вам нужно настроить службу Secure Token Service (STS), которая позаботится об аутентификации. Если хотите, STS может предоставить таблицу LDAP или SQL.
Другими альтернативами могут быть Windows Azure ACS, которые позволяют вам объединяться со многими различными поставщиками удостоверений, такими как Facebook и Google.
Если ваш источник аутентификации - Active Directory, тогда ADFS - это путь.