Короче говоря, достаточно сказать, что мое приложение на Rails позволяет пользователям загружать в приложение изображения, которые они хотят сохранить в приложении (то есть, без хотлинкинга).
Поэтому я пытаюсь найти способ запутать URL-адреса изображений, чтобы адрес изображения зависел от того, вошел ли пользователь на сайт или нет, поэтому, если кто-то попытался создать ссылку наimage, они получили бы ошибку 401 отказано в доступе.
Я думал, что если бы я мог направить запрос через контроллер, я мог бы повторно использовать большую часть авторизации, которую я уже встроил в свое приложение,но я застрял там.
Мне бы хотелось, чтобы мои изображения были доступны через URL-адрес одного из моих контроллеров, например:
http://railsapp.com/images/obfuscated?member_id=1234&pic_id=7890
Если пользователь гдещелкните правой кнопкой мыши на изображении, отображаемом на веб-сайте, и выберите «Скопировать адрес», а затем вставьте его, это будет ОДИН И ТОТ ЖЕ URL-адрес (как, например, не будет выдавать, где изображение фактически размещено).Фактическое изображение будет жить по URL-адресу, например так:
http://s3.amazonaws.com/s3username/assets/member_id/pic_id.extension
Возможно ли это сделать?Возможно, используя метод Rails * render
?Или что-то другое?Я знаю, что PHP может возвращать правильные заголовки, чтобы браузер думал, что это изображение, но я не знаю, как это сделать в Rails ...
ОБНОВЛЕНИЕ: я хочу, чтобы все пользователи приложениячтобы иметь возможность просматривать изображения, если и только если они в настоящее время вошли на сайт.Если у пользователя нет активного сеанса на сайте, прямой доступ к изображениям должен привести к появлению общего изображения или сообщения об ошибке.