Сначала определите, какие ресурсы можно заменить и можно ли добавлять ресурсы. Вам нужно будет где-то хранить их; для небольших ресурсов, таких как логотипы, вероятно, подходит БД, в противном случае вам нужно беспокоиться о размере в БД.
Тогда вы можете определить, какую функциональность вы хотите настроить для пользователя: только цвета или целые стили? Если это просто цвета, вы можете определить некоторые переменные в файле CSS и динамически обслуживать файл, загружая данные из базы данных. Файл CSS может называться styles.asp и содержать такой код:
.header_area {
border: 1px solid <%=headerBorderColor%>;
background-color: <%=headerBGColor%>;
foreground-color: <%=headerFGColor%>;
}
(Синтаксис, который я использовал, - это синтаксис JSP, я не знаю ASP, но идея та же.)
Кроме того, пользователь может указать всю таблицу стилей, либо заменив таблицу по умолчанию, либо дополнив ее. Затем сохраните весь лист в БД и предоставьте его по собственному URL (не вставляйте его на страницу).
<link rel="stylesheet" href="default_styles.css">
<link rel="stylesheet" href="white_label_css.asp">
Убедитесь, что вы правильно установили заголовки кэша и тип содержимого в файле css, если обслуживаете его с помощью страницы asp.
Если вас беспокоит, какой контент пользователь может поместить в файл white_label_css, вы можете ограничить его, создав специальный инструмент, который генерирует CSS и сохраняет его в БД. Например, вместо того, чтобы позволять пользователю загружать любой файл и сохранять его в БД, пользователь должен будет заполнить веб-форму с подробным описанием того, какие настройки он хочет сделать. Таким образом, вы можете гарантировать, что разрешены только определенные правила / изменения CSS (но они могут быть недостаточно гибкими).