Есть приложение с полной функциональностью. Это приложение для одного типа пользователей. Они могут редактировать/удалять/добавлять. Но есть и другие пользователи, которым это делать нельзя.
Каким путем пойти, что бы не создавать несколько похожих приложений, но с небольшими различиями по функционалу?
В Delphi я применял такой подход.
#IFDEF DISPATCHER
...
#ENDIF
#IFDEF VIEWER
...
#ENDIF
В VisualStudio почему-то так
#if DEBUG
// Работает
#endif
#if RELEASE
// Не работает
#endif
Ответ
Все дело в настройках проекта. Конфигурация Debug по умолчанию определяет символы DEBUG и TRACE, конфигурация же Release определяет только TRACE (символа RELEASE не существует).
Вам поможет вот такой способ:
#if !DEBUG
#endif
Или вот такой:
#if DEBUG
#else
#endif
Также в свойствах проекта вы можете определить свои символы для условной компиляции. У меня это делается вот так:
Но, вообще говоря, для разных режимов работы обычно хорошо подходят настройки и конфигурационные файлы:
if (Properties.Settings.Default.CanEditFoo) {
// ...
}
Также имеет смысл ограничить доступ пользователя на стороне сервера или СУБД. Если в организации используется Active Directory - то хорошим решением будет авторизация пользователей на основе доменных групп, к которым они относятся.
Комментариев нет:
Отправить комментарий