Как лучше всего управлять претензиями с помощью WIF 4.5?

Недавно я копался в WIF 4.5, чтобы модернизировать старое приложение на основе ролей для веб-форм с более тонкими правами доступа. Приложение использует Windows Auth, поэтому реализовать авторизацию на основе утверждений довольно просто. Я могу украсить страницы и методы с ClaimsPrincipalPermission, идентифицируя ресурс и действие. И я могу подключить пользовательский AuthorizationManager для применения правил авторизации. Есть много хороших примеров того, как это сделать. Вот несколько из них:

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

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

Я ищу руководство или справочную реализацию авторизации утверждений, которая поддерживает мелкозернистый контроль, а также проста в управлении.

1 ответ

Обычно WIF используется с IDP, таким как ADFS (который расположен поверх AD).

Заявки настроены на ADFS, а не WIF. Заявки, настроенные в ADFS, отправляются в WIF в токене SAML. Чтобы найти утверждения, настроенные для приложения, вам нужно взглянуть на ADFS.

Утверждения не являются динамическими, т. Е. Если атрибут пользователя изменяется в AD, утверждение не будет обновляться до следующего входа пользователя в систему.

Попытка ограничить число утверждений, настроенных для пользователя, и обеспечение правильной настройки AD не являются тривиальными проблемами. Один из способов сделать это - через группы (роли безопасности AD). ADFS может сопоставить их для вас.

Другие вопросы по тегам