2013-12-15 2 views
2

Я пытаюсь создать сайт с использованием Umbraco 6, для которого мне нужно ограничить доступ к некоторому медиаконтенту.Umbraco 6 - что такое «правильный» способ чтения настроек центральной конфигурации?

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

Если бы это был обычный сайт MVC, это было бы тривиальной задачей (действительно, я скорее подозреваю, что использование Umbraco в этом случае добавило дни разработки, так как я пытаюсь понять его сложности и тратить часы на протяжение блуждания через документация, которая в значительной степени устарела), но я не могу на всю жизнь понять, как я должен читать свойства конфигурации от umbracoSettings.config в моем собственном коде. Библиотека Umbraco.Core.Configuration включает в себя класс UmbracoSettings, который содержит данные, но он является внутренним, и я не могу найти какой-либо доступный для разработчиков вариант.

Есть ли «правильный» способ пройти через Umbraco и каким-то образом получить эти данные? Если это не так, мне нужно перевернуть свой собственный считыватель конфигурации, чтобы собрать любые данные, которые мне нужны из этих файлов, адаптировать код из существующей исходной библиотеки, независимо от того, что он, по-видимому, не рекомендуется?

+0

Может проверить, если СМИ Protect пакет будет хорошим вариантом для использования: http://soetemansoftware.nl/media-protect – sebastiaan

+0

Я это видел, но я не уверен, что он будет делать то, что я ищу. Возможно, я должен использовать его, конечно, будет дешевле, чем выяснять свой путь через документацию, - но я не мог понять, как он вписывается в общую структуру, с которой я работал. Однако все же может быть проще переработать эту структуру. – glenatron

+1

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

ответ

1

Это все немного запутанным с пространствами имен в v6 - но если вы ссылаетесь umbraco.dll вы можете прочитать настройки из класса UmbracoSettings

например umbraco.UmbracoSettings.UmbracoLibraryCacheDuration дает значение, сохраненное для UmbracoLibraryCacheDuration в UmbracoSettings.config файл

+0

V7 делает это проще, включая настройки в правильном пространстве имен, но в v6 он находится в старом пространстве umbraco.UmbracoSettings, а не в пространстве имен Umbraco.Core. –