Аутентификация на основе утверждений: являются ли строки сущностью утверждений? - PullRequest
0 голосов
/ 08 июня 2010

Я уже некоторое время программирую с аутентификацией на основе утверждений, используя Windows Identity Foundation .

Мне кажется, что в Windows Identity Foundation после входа пользователя претензии в основном представляют собой строки информации, которые описывают пользователя.

При старой аутентификации на основе ролей я мог бы сказать, что пользователь является или не является членом данной группы, но при аутентификации на основе утверждений у меня теперь могут быть строки информации, описывающие пользователя. «Этот пользователь женский». Этот пользователь родился 6 июля 1975 года. «Этот пользователь вошел в систему с помощью USB-ключа».

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

1 Ответ

3 голосов
/ 09 июня 2010

Заявки являются атрибутами субъекта, взаимодействующего с вашим приложением, и могут быть чем угодно .Все приведенные вами примеры по существу верны.

Именно поэтому вы можете использовать претензии не только для правил авторизации.Они также могут представлять информацию профиля пользователя, например.А членство в роли - это просто еще один атрибут (который в основном используется для контроля доступа).

Пара наблюдений:

  • Одно тонкое, но очень важное различие заключается в том, что заявки выдаютсядоверенное, авторитетное лицо (ГНС).Происхождение претензии так же важно, как и сама претензия.В качестве простого примера: если я отправлю вам токен, выданный службой Microsoft STS с заявкой «Title = Program Manager», у вас, вероятно, будет высокая уверенность в том, что я работаю в корпорации Майкрософт.Другими словами, существует корреляция между верностью атрибутов, которые вы получаете, и уровнем доверия, которое вы оказываете эмитенту.
  • В утверждениях WIF значения реализуются как «строки» (как в типе .NET), но они могут быть любым (сериализуемым) объектом.Для простых вещей, таких как роли, группы, имена и т. Д., Вы просто используете значение.Для других более сложных типов вам понадобится какая-то десериализация.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...