Хранение претензий в базе данных - схема предложений? - PullRequest
0 голосов
/ 24 ноября 2011

В настоящее время мы изучаем проверку подлинности на основе утверждений и тестируем пользовательскую STS с использованием WIF.

Мы обсуждали, как хранить утверждения в базе данных.Во многих простых примерах заявки хранятся в виде простых атрибутов в одной таблице (например, UserProfile), имеющей FK для пользователя.Затем создаются заявки, а тип заявки - это URL-адрес плюс имя столбца (например, http: //.../claims/email), а значение, конечно, является значением из базы данных.

Но мне нужны более сложные примеры.Можете ли вы поделиться некоторыми из ваших способов хранения претензий в базе данных?Я думал о чем-то вроде таблицы, содержащей все типы утверждений, и таблицы, содержащей значения для каждого пользователя (с FK для пользователя).Но нам действительно нужно немного вдохновения.Так что все, что вы можете поделиться, будет высоко ценится.Но опять же, это очень «плоская» структура ...

Обновление

Я попытался сделать простую модель: http://imageshack.us/photo/my-images/690/suggestionn.png/

Извините, пока не могу опубликовать изображения.

Я думаю, что это хорошо для простых утверждений.Но что, если у меня есть то, что я называю «вложенными требованиями».Допустим, тип заявки описывает, что у пользователя есть заявка, описывающая его права на ресурс «Персонал» типа заявки «Документы».Это можно описать с помощью этой модели, но что если мы захотим дополнительно описать это утверждение?Скажем, использование имеет уровень доступа 5 к ресурсу «Персонал».Я не вижу, как это возможно.Есть идеи?

1 Ответ

0 голосов
/ 24 ноября 2011

Две вещи, которые вы можете рассмотреть:

Разные проверяющие стороны (RP) могут создавать разные группы заявок для одного и того же пользователя.Таким образом, вам нужна таблица RP, которая ссылается на типы утверждений.

(Примечание: вы можете определить, какой RP с помощью параметра wtrealm).

Кроме того, типы утверждений могут быть один-ко-многим,Если есть тип ... / претензий / групп и пользователь принадлежит к нескольким группам, будет несколько экземпляров этого типа претензий.

Вы смотрели, как Identity Server реализует это?Используется база данных SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...