Используйте [spring] mvc поддержку для статических ресурсов , его атрибут location
- это Spring Resource
, поэтому вы можете использовать префикс file:
или
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("file:/my/external/directory/");
}
}
@See Справочник по весне Глава 6.4 ResourceLoader для таблицы, в которой перечислены все префиксы для ресурсов
там путь, чтобы зашифровать информацию об окнах и иметь окна надежно управляют паролями?
CryptProtectData: http://msdn.microsoft.com/en-us/library/windows/desktop/aa380261 (v=vs.85) .aspx
Используя от.NET: http://msdn.microsoft.com/en-us/library/aa302402.aspx
Исторически, Защищенное устройство хранения данных (доступный в XP, только для чтения в перспективе +): http://msdn.microsoft.com/en-us/library/bb432403%28VS.85%29.aspx
Необходимо рассмотреть использование DPAPI с этой целью. Это зашифрует Ваши данные со специальным (внутренним) симметричным ключом, который находится на основе в расчете на пользователя. Вы не должны даже просить пароли в этом случае, потому что различным пользователям в системе присвоят различные ключи им.
оборотная сторона его могла бы быть то, что Вы не можете восстановить данные, если пользователь удален/Windows переустановленный (я полагаю что дело обстоит так, не совсем уверенный хотя). В этом случае зашифруйте данные с "самосгенерированным" ключом, полученным из пароля, и сохраните пароль в реестре/файле, зашифрованном с помощью DPAPI.
Можно использовать собственное средство шифрования. Установите зашифровать атрибут на своей папке или файле (от страницы свойств, нажмите на "усовершенствованную" кнопку). Затем можно установить пользователей, которые могут получить доступ к файлу (по умолчанию, это только включает создателя файла). Большое преимущество этого решения состоит в том, что это полностью прозрачно из приложения и пользовательских точек зрения.
, Чтобы сделать это программно: использование API Win32, звоните EncryptFile()
на каталоге, где Вы хотите хранить свои чувствительные данные в расчете на пользователя. С этого времени все недавно созданные файлы в этом dir будут зашифрованы и только читаемые их создателем (который был бы текущим пользователем Вашего приложения). Кроме того, можно использовать эти FILE_ATTRIBUTE_ENCRYPTED
флаг на отдельных файлах во время создания. Можно проверить информацию о шифровании из проводника на странице свойств файла и видеть, что созданные из приложения файлы правильно шифруются и ограничиваются своими соответствующими пользователями. Нет никакого пароля, чтобы сохранить или использовать, все прозрачно.
, Если Вы хотите скрыть данные от всех пользователей затем, можно создать специального определенного для приложения пользователя и явиться олицетворением их из приложения. Это, наряду с ACLs, является счастливой техникой в Windows для системных служб.
Вы могли бы хотеть посмотреть на Изолированное устройство хранения данных, которое является способом сохранить настройки и другие данные по на данные приложения автоматически. Посмотрите пример и MSDN.
Это - альтернатива хранению нормальных настроек в реестре, лучшей в большом количестве случаев... Я не уверен, как данные хранятся в файл однако, таким образом, необходимо было бы проверить, Вы не захотите, чтобы это было доступно, даже зашифрованное другим пользователям. Из памяти только приложение. это создало устройство хранения данных, может открыть его - но этому нужна проверка.
Редактирование:
Из памяти, когда я в последний раз использовал это, хороший подход должен записать класс "Установки", который обрабатывает все настройки и т.д. в Вашем приложении. Этот класс затем имеет эквивалент, Сериализируют и Десериализовывают методы, которые позволяют ему писать все свои данные в файл IsolatedStorage или загружать их назад снова.
дополнительное преимущество реализации это таким образом - Вы, может использовать атрибуты для повышения битов источника и может затем использовать Сетку Свойства, чтобы быстро дать Вам пользовательские средства редактирования настроек (Сетка Свойства управляет свойствами класса во времени выполнения с помощью отражения).
Я рекомендую посмотреть на Блок приложений Криптографии Библиотеки Предприятия. Проверьте этот сообщение в блоге . Windows имеет созданный в Защите данных API для шифрования данных, но Блок приложений Crypto делает это более простым.
Erm хешируют пароль? Вы не должны хранить реальное соглашение нигде по машине просто хешированный пароль (возможно посоливший также). Затем, когда пользователь вводит их пароль, Вы выполняете ту же операцию на этом и сравниваете ее с хешированной, которую Вы сохранили на диске.
Гм, то, чего Вы пытаетесь достигнуть, точно, чего DRM пыталось достигнуть. Зашифруйте что-то, затем дают пользователю ключи (однако запутываемый) и crypto. Они сделали это с DVD. Они сделали это с Blu-ray. Они сделали это с iTunes.
то, Что Вы предлагаете, никогда сделать не будет безопасно. Ваше среднее число кладет человека, вероятно, не поймет это, но любой достаточно мотивированный взломщик разработает его и обнаружит ключи, алгоритм и дешифрует данные.
, Если все Вы делаете, шифрует пользовательские данные, затем просят у пользователя их пароль. При попытке защитить свои внутренние данные от пользователя, запускающего приложение, Вы - S.O.L.