В настоящее время у меня есть проект, в котором я, кажется, столкнулся с проблемой, касающейся ролей, и подумал, что смогу получить некоторые мнения о том, как лучше всего решить эту проблему.
Система потребует редактируемых, гибких ролей, которые управляют не только доступом к определенным областям, но также и использованием системных функций (добавление пользователей, редактирование пользователей, просмотр отчетов и т. Д.).
В настоящее время система позволяет пользователям иметь несколько ролей, каждая из этих ролей имеет явно определенные области доступа / действий, например:
поэтому Пользователь мог быть в ролях A и C и, таким образом, иметь доступ к: 1, 2, 3, 4 и 6, а также мог добавлять и просматривать пользователей.
Моим первым решением было создать словарь, в котором будут храниться все возможные области. параметров доступа / доступа в Словарь, например:
Dictionary<string,bool>
затем, когда он создается, он извлекает все свойства из базы данных, а затем выполняет итерацию по ролям, чтобы определить, доступны ли они.
Все это в настоящее время работает просто хорошо - однако проект довольно интенсивен Javascript / jQuery, поэтому многие из этих параметров вызываются функциями на стороне клиента. Я стараюсь не заключать в оболочку все эти клиентские функции:
<%if(AccessDictionary[key])
//Enable or Disable Action
<%}%>
Итак, в основном, меня интересуют следующие вещи:
Мы будем очень благодарны за любые советы или идеи!