Как мне кодировать RoleProvider для хранилища данных, которое не определяет роли? - PullRequest
1 голос
/ 06 августа 2010

Я пытаюсь написать собственный RoleProvider для взаимодействия с внешней сторонней системой.Однако «роли», которые мне нужны, явно не определены в системе, а основаны на условиях внутри системы.Например, роль может быть определена как лицо, назначенное на конкретный комитет, или лицо, имеющее определенный уровень членства.Это означает, что в системе нет понятия о ролях, которые я хочу использовать, и нет механизма их определения.Очевидно, что методы поддержки ролей здесь не имеют смысла и останутся нереализованными, но методы запросов ролей должны иметь роли, определенные где-то .

Как я могу определить и использовать роли в ситуации, подобнойэтот?Ведение отдельной базы данных для этой информации было бы кошмаром.Кроме того, эта структура будет использоваться в нескольких развертываниях, где роли будут совершенно разными.Я продолжаю думать, что мне нужно кодировать какую-то систему с объектами ролей, которые содержат логику, необходимую для определения, находится ли пользователь в этой конкретной роли, но я не могу понять, как заставить его работать с моделью Role Provider.

Я что-то упускаю явно очевидное?Я совершенно не прав?

1 Ответ

1 голос
/ 06 августа 2010

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

Другой вариант - пропустить встроенную функцию ролей, а на ваших страницах просто проверить их статус и проверить их.на основании этого;например, имеют ли они доступ, чтобы просмотреть этот комитет, проверить, являются ли они членом, и разрешить им;в противном случае, отрицать их.Такого рода вещи.

HTH.

...