Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ограничить доступ к некоторым ресурсам приложения 
:(
    Опции темы
4epT
Дата 22.2.2012, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: 3
Всего: 3



Всем привет. Имеется приложение, в котором есть множество директорий такого типа:

Код

domen/album_name1/
domen/album_name2/
domen/album_name3/
...


В каждом из альбомов есть N картинок или других документов.

Допустим я хочу ограничить доступ к  album_name1 (например что туда имел доступ только владелец). Но ведь чисто теоретически, если я подберу (угадаю) название альбома, то я смогу вытащить от туда все картинки и прочее ... например тупо вбив в адрессной строке что то вроде:

Код

domen/album_name1/1.jpg


Как можно контролировать доступ ко всем директориям ? Будет ли достаточно фильтра, который будет проверять доступность данной директории для авторизованного пользователя ?

Использую Servlet и JSP, в дальнейшем может быть перепишу на JSF + EJB 3.0
PM MAIL   Вверх
Telperion
Дата 22.2.2012, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 12.10.2008

Репутация: 1
Всего: 1



Ну как то так и надо делать... фильтр должен смотреть на адрес в реквесте и решать можно или дальше обрабатывать реквест.

хотя я бы наверно вообще запретил прямое хождение по папкам... и вместо этого передавал координаты фотки или чего там, как параметры реквеста
PM MAIL   Вверх
4epT
Дата 23.2.2012, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: 3
Всего: 3



Цитата

хотя я бы наверно вообще запретил прямое хождение по папкам... и вместо этого передавал координаты фотки или чего там, как параметры реквеста 


Можно поподробнее ?

Я буду отдавать ресурсы к разным сайтам/приложениям. У меня запрашивают типа "Дай мне такие то ресурсы с такими то ограничениями" и я отдаю... Логичнее отдавать прямые ссылки на ресурсы
PM MAIL   Вверх
Molodec
Дата 12.3.2012, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 20.12.2010
Где: Украина

Репутация: 1
Всего: 1



В моем приложении для ограничения доступа к ресурсам использую properties файл. 
В котором - имя экшена(страницы) и право которое должно быть у пользователя. 
Допустим:
manage-user=permission-admin
В каждом экшене сверяю это право. 
Говоря о материале. Допустим, чтобы только владелец мог просмотреть:
If (Текущий пользователь.hasPermission(Право администратора) || Текущий пользователь .equals(Альбом.getАвтор)){
return "Страничка альбома";
}else{
return "Какого лешего с ссылками балуешься???"
}
Ну как бы подобие алгоритма... 

PM MAIL   Вверх
carper
Дата 14.3.2012, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 2.3.2005

Репутация: 2
Всего: 8



Цитата(4epT @  22.2.2012,  11:44 Найти цитируемый пост)
Как можно контролировать доступ ко всем директориям ? 


Вообще не давать доступа к директориям с картинками напрямую никому, так будут развязаны руки с их произвольным перемещением (как из директории в директорию, так и, например, вообще в BLOB), переименованием, изменением формата,
и можно запретить выкачивание папок целиком.

Вместо этого в HttpServletResponse писать картинку в его ServletOutputStream.
Там же, в сервлете, и права можно проверять и таймауты всякие против роботов выставлять и ресайзить картинки
динамически под разрешение дислея пользователя и т.п.

К сожалению свой код никак не могу сейчас найти :(
Помню только, что надо было не забыть, через setContentType, установить тип наподобие "image/jpeg"
и что-то там с промежуточным flush() вроде как для больших картинок было (из "улучшизмов"), но уже не помню.
Ах, да, там еще был нужен JPEGImageEncoder (сейчас нашел какой-то обрывок в Google) - т.е. изображение надо
передавать в поток в кодированном виде. Увы, не помню точно, что и как, но все работало вполне нормально и особых
подводных камней не было.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.