Мой вопрос:
У меня есть доменная таблица в базе данных, где я добавляю некоторые правила для пользователей.
Примерно так:
Таблица пользовательских ролей:
idRule cRuleDescription bRuleIsActive
1 Edit client true
2 Delete client false
Мое приложение C # обращается к этой таблице с использованием перечисления, например:
public enum UserRoles: int
{
CanEditClient = 1,
CanDeleteClient = 2,
CanChangeClientName = 3,
//More code
}
И я использую метод C #, который запрашивает базу данных по ее идентификатору, чтобы узнать, есть ли у зарегистрированного пользователя разрешение на какое-либо действие. Примерно так:
bool HasPermissionToEdit = Rules.UserHasPermisson(UserName, UserRoles.CanEditClient)
if(HasPermissionToEdit)
{
//Do the work!
}
Но использование этого доставляет мне некоторые проблемы. Кто-то создал новые строки в производственной среде в базе данных. И идентификаторы больше не верны. И мне нужно изменить перечисление в моем коде C #. Мне нужно использовать эту таблицу, потому что администраторы могут управлять правилами для другой группы пользователей.
Как вы с этим работаете? Есть лучший способ ссылки на реестр в таблице?