Аутентификация на основе претензий: строки являются сущностью претензий?

StackOverflow https://stackoverflow.com/questions/2999451

Вопрос

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

Мне кажется, что в Windows Identity Foundation, После того, как пользователь входит в систему, претензии - это в основном строки информации, которая описывает пользователя.

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

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

Это было полезно?

Решение

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

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

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

  • Одно тонкое, но очень важное отличие состоит в том, что претензии выдаются доверенным, авторитетным субъектом (STS). Происхождение претензии так же важно, как и сама претензия. Чтобы использовать простой пример: если я отправлю вам токен, выпущенный Microsoft STS с претензии «Title = Manager Program», вы, вероятно, обладаете высокой уверенностью, что я являюсь PM, работаю в Microsoft. Другими словами, существует корреляция между верностью атрибутов, которые вы получаете, и уровнем доверия, который вы оказали на эмитента.
  • В претензиях WIF значения реализованы как «строки» (как в типе .NET), но они могут быть любым (сериализируемым) объектом. Для простых вещей, таких как роли, группы, имена и т. Д. Вы просто используете значение. Для других более сложных типов вам понадобится какая -то десериализация.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top