2010-08-06 4 views
1

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

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

Я пропустил что-то явно очевидное? Неужели я об этом совершенно не так?

ответ

1

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

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

HTH.

+0

+1 для обхода ролей. Я пытался сделать что-то подобное, и кеширование и производительность были кошмаром – Greg

 Смежные вопросы

  • Нет связанных вопросов^_^