2015-10-08 2 views
2

У меня есть проект GAE, который я собираюсь развернуть. Все идет хорошо, за исключением того, что я, по-видимому, не могу защитить определенные файлы. В частности, я загрузил файл ключа .p12 для использования с APNS. Я имел его в WEB-INF изначально, но из-за «java.io.IOException: DerInputStream.getLength(): lengthTag = 111, слишком большой». Я переместил файл за пределы этого каталога. Проблема, с которой я сейчас сталкиваюсь, это то, что я могу загрузить файл .p12. Работая на локальном dev-сервере, у меня есть следующие разрешения и, следовательно, блокировка доступа к файлу. Однако, как только я выталкиваю это на производство, я все еще могу загрузить файл. Что может случиться с производственной средой GAE, которая не применяет это ограничение безопасности? Спасибо за любую помощь.GAE Предотвращение доступа к файлам

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>certificates</web-resource-name> 
     <url-pattern>/certificates/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint /> 
</security-constraint> 
+0

Зачем вам размещать файл p12 в любом месте рядом с папкой webapp и беспокоиться о его безопасности? Поместите его в ресурсы и получите его с помощью общеизвестных методов ресурсов. – konqi

ответ

1

Глядя в документы, вы должны иметь определенную роль, указанную внутри «Идент-ограничения», как показано here

Так что-то вроде

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>certificates</web-resource-name> 
     <url-pattern>/certificates/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>*</role-name> 
    </auth-constraint> 
</security-constraint> 

должен сделать трюк.

+0

Я пытался это сделать. Но все же он все еще игнорировался. Я считаю, что это проблема с кешированием. Я не пытался повторно реализовать доступ таким образом. Я завелся заставить его работать, группируя свои сертификаты в WEB-INF, а затем добавить в исключения соответственно в pom.xml $ {BASEDIR}/SRC/главная/веб-приложение/WEB-INF правда WEB-INF сертификаты/*. p12 djneely