![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| 4epT |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Всем привет. Имеется приложение, в котором есть множество директорий такого типа:
В каждом из альбомов есть N картинок или других документов. Допустим я хочу ограничить доступ к album_name1 (например что туда имел доступ только владелец). Но ведь чисто теоретически, если я подберу (угадаю) название альбома, то я смогу вытащить от туда все картинки и прочее ... например тупо вбив в адрессной строке что то вроде:
Как можно контролировать доступ ко всем директориям ? Будет ли достаточно фильтра, который будет проверять доступность данной директории для авторизованного пользователя ? Использую Servlet и JSP, в дальнейшем может быть перепишу на JSF + EJB 3.0 |
||||
|
|||||
| Telperion |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 12.10.2008 Репутация: 1 Всего: 1 |
Ну как то так и надо делать... фильтр должен смотреть на адрес в реквесте и решать можно или дальше обрабатывать реквест.
хотя я бы наверно вообще запретил прямое хождение по папкам... и вместо этого передавал координаты фотки или чего там, как параметры реквеста |
|||
|
||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Можно поподробнее ? Я буду отдавать ресурсы к разным сайтам/приложениям. У меня запрашивают типа "Дай мне такие то ресурсы с такими то ограничениями" и я отдаю... Логичнее отдавать прямые ссылки на ресурсы |
|||
|
||||
| Molodec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.12.2010 Где: Украина Репутация: 1 Всего: 1 |
В моем приложении для ограничения доступа к ресурсам использую properties файл.
В котором - имя экшена(страницы) и право которое должно быть у пользователя. Допустим: manage-user=permission-admin В каждом экшене сверяю это право. Говоря о материале. Допустим, чтобы только владелец мог просмотреть: If (Текущий пользователь.hasPermission(Право администратора) || Текущий пользователь .equals(Альбом.getАвтор)){ return "Страничка альбома"; }else{ return "Какого лешего с ссылками балуешься???" } Ну как бы подобие алгоритма... |
|||
|
||||
| carper |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 2.3.2005 Репутация: 2 Всего: 8 |
Вообще не давать доступа к директориям с картинками напрямую никому, так будут развязаны руки с их произвольным перемещением (как из директории в директорию, так и, например, вообще в BLOB), переименованием, изменением формата, и можно запретить выкачивание папок целиком. Вместо этого в HttpServletResponse писать картинку в его ServletOutputStream. Там же, в сервлете, и права можно проверять и таймауты всякие против роботов выставлять и ресайзить картинки динамически под разрешение дислея пользователя и т.п. К сожалению свой код никак не могу сейчас найти :( Помню только, что надо было не забыть, через setContentType, установить тип наподобие "image/jpeg" и что-то там с промежуточным flush() вроде как для больших картинок было (из "улучшизмов"), но уже не помню. Ах, да, там еще был нужен JPEGImageEncoder (сейчас нашел какой-то обрывок в Google) - т.е. изображение надо передавать в поток в кодированном виде. Увы, не помню точно, что и как, но все работало вполне нормально и особых подводных камней не было. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |