Претензия IdentityModel .Net 4.5 против претензии .Net 4.6

Claims раньше имел следующие свойства в .Net 4.5:

  • ClaimType: получает тип утверждения.
  • Issuer: получает издателя утверждения.
  • OriginalIssuer: получает исходного издателя утверждения.
  • Properties: получает свойства, представляющие собой пары "имя-значение".
  • Subject: получает предмет претензии.
  • Value: получает значение утверждения.
  • ValueType: получает тип значения утверждения.

Кажется, в .Net 4.6 появились новые Claim со следующими свойствами:

  • ClaimType: получает тип утверждения.
  • DefaultComparer: получает объект, который может сравнивать два объекта Claim на предмет равенства.
  • Resource: получает ресурс, с которым связан этот объект Claim.
  • Right: строковое представление универсального идентификатора ресурса (URI), указывающего право, связанное с этим объектом утверждения.
  • System: предварительно определенное утверждение, представляющее системный объект.

Являются ли они просто разными представлениями одной и той же концепции требования в концепции claims-based-identity?

Или вся концепция изменилась?


Точнее, я хотел бы рассмотреть следующие авторизационные данные:

  • Данные пользователя: UserId = "5";
  • Данные Ресурса: ResourceName = "Book";
  • Данные действия: ActionName = "ViewContents";
  • Данные об окружающей среде: SystemLanguage = "English".

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

Как эти данные должны быть правильно представлены в новых заявках?

Спасибо!


person Andrey K.    schedule 06.09.2016    source источник


Ответы (1)


Прошу прощения за вводящий в заблуждение вопрос.

Первое утверждение из вопроса (с 7 свойствами) является новым. Он существует с .Net 4.5. Это из пространства имен System.Security.Claims.

Второе утверждение из вопроса (с 5 свойствами) - это еще одно утверждение, существующее с .Net 3.0. Это из пространства имен System.IdentityModel.Claims.

Я думаю, что для ситуации в вопросе нужна претензия с 7 свойствами, первое из System.Security.Claims.

РЕДАКТИРОВАТЬ: Этот ответ является хорошим обоснованием.

person Andrey K.    schedule 15.09.2016