У меня есть приложение на основе GWT / SmartGWT, которое развернуто в Google App Engine. Я использую источник данных на основе XML. Этот файл необходим для нормальной работы приложения для всех пользователей. Однако я не хочу, чтобы пользователи без прав администратора могли просматривать или загружать этот файл напрямую, указав его полный путь в адресной строке. Я не могу использовать ограничение безопасности GAE (разрешить доступ только администраторам), как упомянуто ниже, потому что это сделает приложение бесполезным для обычных пользователей.
<security-constraint>
<web-resource-collection>
<url-pattern>ds/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
Итак, есть ли способ, которым я могу запретить пользователям прямой доступ к файлу, но при этом разрешить им использовать его через приложение?
Спасибо заранее.
ОБНОВЛЕНИЕ (3 мая 2011 г.):
У меня есть данные в нескольких файлах XML, и все данные доступны только для чтения (только получить, не добавлять / обновлять / удалять в этих файлах). У меня есть несколько различных функций на клиенте, которые используют эти данные. В большинстве случаев каждая функциональность имеет отдельный источник данных. В некоторых случаях у меня есть привязка данных с виджетами SmartGWT (например, ListGrid), а в других я просто конвертирую данные в объекты и использую объекты на клиенте.