Создание объектов изображений из защищенных паролем URL-адресов в GWT - PullRequest
1 голос
/ 02 января 2012

Я хочу представить некоторые изображения в моем приложении GWT.Эти изображения хранятся в защищенном паролем URL, внешнем по отношению к моему сайту в общем случае.Я могу использовать конструктор Image(java.lang.String url) с именем пользователя и паролем внутри URL.Поэтому я могу позвонить:

Image img = new Image("http://user:pass@mydomain.com/image.png")

Но тогда имя пользователя и пароль будут видны всем, кто просматривает исходный код страницы.Я хочу установить аутентифицированное соединение с этим URL-адресом, а затем использовать простой URL-адрес в конструкторе:

Image img = new Image("http://mydomain.com/image.png")

Я не хочу запрашивать у пользователя имя пользователя и парольчерез всплывающее окно, потому что в общем случае он будет отличаться от того, к которому принадлежат изображения, поэтому он не будет иметь учетных данных.Владелец изображений при регистрации регистрирует свой URL, имя пользователя и пароль.

Возможно ли это вообще?

Ответы [ 2 ]

1 голос
/ 02 января 2012

Если у вашего пользователя нет учетных данных для просмотра изображений, вы не сможете загрузить их с клиента вашего пользователя.Нет хорошего способа предоставить пароль для них, не позволяя им видеть пароль.

Вы можете изменить его, отправив запрос изображения на свой собственный сервер.Затем ваш собственный сервер может отправить запрос на внешний сервер с предоставленным паролем и передать ответ вашему пользователю.Это дополнительный прыжок, но вы можете хранить пароль в полном секрете.

Если вы запрашиваете у своих пользователей пароли к другому сайту, вы должны быть крайне осторожными с ними.В общем, это звучит как рискованное занятие - вы открываете множество разных способов получить доступ к чужим файлам.Чем меньше из них вы сможете создать, тем лучше.Если внешний сайт поддерживает какой-либо метод косвенной авторизации, такой как oauth, вам определенно следует предпочесть его, а не запрашивать пароль пользователя.

0 голосов
/ 02 января 2012

Вам нужно открыть окно в этом домене, и пользователь должен ввести свое имя пользователя и пароль.Для всех последующих запросов к тому же домену вы не должны получать новое всплывающее окно.Один из способов сделать это - создать скрытый iframe для mydomain.com.Это должно вызвать всплывающее окно аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...