- У меня есть службы WCF, нуждающиеся в авторизации с подтверждением претензий (как в can-create-resource-X, can-edit-resource-Y и т. Д.).
- Авторизация должна быть именем пользователя/паролем, без идентификаторов Windows.
- Мне нужно сохранить логику авторизации и данные локально на сервере, где размещены службы WCF.
- Данные авторизации должны храниться в PostgreSQL, а не в SQL Server.
Сначала я собирался реализовать на основе утверждений безопасности в соответствии с «Обучение WCF. А Практическое руководство», используя pgProvider
в качестве замены PostgreSQL на основе для ASP.NET Membership Provider. Но я наткнулся на ClaimsPrincipal
, переопределенный (вместе с Claims
) в .Net 4.5, который я сейчас использую.Как создать локальную службу STS для моей службы WCF с использованием утвержденных утверждений Имя пользователя/авторизация входа?
Тогда я столкнулся с тем, что WIF теперь рекомендуется в качестве основного устройства для авторизации. На данный момент я пытаюсь обернуть голову вокруг WIF, и я не могу найти никаких упоминаний о действительной STS, которая будет использоваться локально. Единственное упоминание, которое я встретил, - Local Development STS
, но, насколько я понимаю, оно должно использоваться только для целей разработки и тестирования, а не для производства.
Я рассмотрел создание пользовательских STS, но, согласно Google, это не мой первый выбор. И это действительно кажется чрезмерно сложным подходом к, казалось бы, простой цели - иметь локальное имя пользователя/пароль.
Так как же я могу создать авторизацию на основе требований для своих служб WCF? Есть ли местный STS, с которым я не сталкивался? Должен ли я забыть WIF и написать свою собственную логику авторизации? Что-нибудь еще?
Несколько лет назад у меня было учебное пособие по активным профилям ws-fed http://www.wiktorzychla.com/2011/09/quest-for-customizing-adfs-sign-in-web_2465.html, но проблема заключается в учебнике для WIF 4, а api с тех пор изменилась. Не стесняйтесь использовать этот учебник, но вы сами по себе. –