понимание IPrincipal в mvc

#c# #security #iprincipal

#c# #Безопасность #iprincipal

Вопрос:

Я пытаюсь понять назначение IPrincipal и IIdentity или просто основных объектов в целом.

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

а IPrincipal — это контекст, в котором пользователь был аутентифицирован.

Прав ли я относительно этих двух объяснений? Что действительно сбивает меня с толку в статье, так это «контекст безопасности» для principal, я не уверен, что действительно понимаю, что это значит.

Я немного сбит с толку

Ответ №1:

Вы найдете это в следующем предложении

Основной объект представляет контекст безопасности, в котором выполняется код. Приложения, которые реализуют безопасность на основе ролей, предоставляют права на основе роли, связанной с основным объектом.

Технически IPrincipal добавляет роли поверх IIdentity . Для этого требуется IsInRole метод

http://msdn.microsoft.com/pl-pl/library/system.security.principal.iprincipal.isinrole (v = против110).aspx

Именно так роли проверяются клиентским кодом и, таким образом, устанавливается безопасность на основе ролей.

Комментарии:

1. «Контекст безопасности» — это то, что меня смущает

2. Очевидно, имеется в виду «безопасность на основе ролей».