що означає механізм претензії в новому ядрі Identity ASP.NET?
Є два загальні підходи до авторизації, які базуються на ролі та претензії.
Рольова безпека
Користувач отримує одну або декілька ролей, через які користувач отримує права доступу. Також, призначаючи користувача до ролі, користувач негайно отримує всі права доступу, визначені для цієї ролі.
Захист на основі претензій
Ідентичність на основі претензій - це сукупність претензій. Претензія - це твердження, яке суб'єкт господарювання (користувач чи інша програма) робить про себе, це лише претензія. Наприклад, список претензій може містити ім’я користувача, електронну пошту користувача, вік користувача, дозвіл користувача на дію. У рольовій безпеці користувач подає облікові дані безпосередньо додатку. У моделі на основі претензій користувач подає заявки, а не повноваження. Для того, щоб претензія мала практичну цінність, вона повинна виходити від суб'єкта господарювання, якому заявляється довіра.
Нижче описано послідовність того, що відбувається в моделі безпеки на основі претензій:
- Користувач запитує дію. Програма сторонньої сторони (RP) запитує маркер.
- Користувач вручає облікові дані органу, що видає, якому довіряє RP-програма.
- Орган, що видав, видає підписаний маркер із претензіями після автентифікації даних користувачів.
- Користувач представляє маркер додатку RP. Додаток підтверджує підпис маркера, витягує претензії та на основі претензій приймає або відхиляє запит.
Але я все ще не можу зрозуміти і знайти будь-яку інформацію, коли дані додаються до AspNetUserClaims та для яких ситуацій використовується ця таблиця?
Якщо ви потрапляєте в ситуацію, коли захист на основі ролей не використовується, і ви вирішили використовувати захист на основі претензій, вам потрібно буде використовувати таблицю AspNetUserClaims. Про те, як використовувати претензії в особі ASP.NET, див. Посилання нижче для отримання додаткової інформації.
http://kevin-junghans.blogspot.com/2013/12/using-claims-in-aspnet-identity.html
Оновлення
Який час я повинен використовувати захист на основі ролей і коли на основі претензій? Скажіть, будь ласка, кілька прикладів?
Не дуже чітка ситуація, коли ви б хотіли або не використовували б захист, заснований на ролях або на вимогах, як не у випадку, коли ви використовували б A, а не B.
Але контроль доступу на основі претензій дозволяє краще відокремити правила авторизації від основної логіки бізнесу. Коли правила авторизації змінюються, основна логіка бізнесу залишається незадіяною. Будуть ситуації, коли, можливо, ви бажаєте використовувати підхід, заснований на претензії.
Іноді претензії не потрібні. Це важлива відмова від відповідальності. Компанії, що мають безліч внутрішніх додатків, можуть використовувати інтегровану автентифікацію Windows для досягнення багатьох переваг, наданих претензіями. Active Directory чудово справляється зі збереженням ідентифікацій користувачів, і оскільки Kerberos є частиною Windows, ваші програми не повинні включати багато логіки аутентифікації. Поки кожен створений додаток може використовувати інтегровану автентифікацію Windows, можливо, ви вже досягли своєї утопії. Однак є багато причин, чому вам може знадобитися щось інше, ніж автентифікація Windows. Можливо, у вас є веб-програми, які використовуються людьми, які не мають облікових записів у вашому домені Windows. Іншою причиною може бути те, що ваша компанія об'єдналася з іншою компанією, і ви ' у вас виникають проблеми з автентифікацією в двох лісах Windows, які не мають (і можуть ніколи) довірчих відносин. Можливо, ви хочете поділитися ідентифікаціями з іншою компанією, яка має програми, які не є .NET Framework, або вам потрібно поділитися ідентичностями між програмами, що працюють на різних платформах (наприклад, Macintosh). Це лише кілька ситуацій, коли особистість на основі претензій може бути правильним вибором для вас.
Для отримання додаткової інформації відвідайте сторінку http://msdn.microsoft.com/en-us/library/ff359101.aspx