2012-01-02 13 views
1

GWTアプリケーションでいくつかの画像を表示したい。これらの画像は、一般的なケースで私のサイトの外部にあるパスワードで保護されたURLに保存されます。私はImage(java.lang.String url)のコンストラクタをURLの中にユーザ名とパスワードとともに使用することができます。パスワードで保護されたURLから画像オブジェクトを作成する

Image img = new Image("http://user:[email protected]/image.png")

をしかし、その後、ユーザー名とパスワードは、ページのソースコードを見て誰にでも見えるようになります。だから私は呼び出すことができます。私はそのURLと認証された接続を確立し、その後、コンストラクタでプレーンなURLを使用する:

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

私は、ポップアップを通じてユーザ名とパスワードの入力をユーザーに依頼する必要はありませんであるため一般的な場合、彼は画像が所属するものとは異なるため、彼は資格を持たないでしょう。画像の所有者は登録時に自分のURL、ユーザー名、パスワードを私に与えます。

これはすべて可能ですか?

答えて

1

ユーザーがイメージを表示するための資格情報を持っていない場合、ユーザーのクライアントからそれらを読み込むことはできません。パスワードを表示させることなくパスワードを提供する良い方法はありません。

イメージリクエストを自分のサーバーに送信することで、これをリファクタリングすることができます。自分のサーバーは外部サーバーに要求を送信し、パスワードを入力して応答をユーザーに返すことができます。余分なホップですが、パスワードを完全に秘密にすることができます。

ユーザーに別のサイトへのパスワードを尋ねる場合は、極端ににする必要があります。一般に、これは危険な試みのように聞こえる - あなたは他の人のファイルにアクセスするための多くの異なる方法を公開している。あなたが作ることのできるものが少ないほど良いでしょう。外部サイトがoauthのようないくつかの間接的認証方法をサポートしている場合は、ユーザーのパスワードを要求するよりも間違いなく優先されるべきです。

+0

これは正しいようです。私のために物事を明確にしてくれてありがとう。 – gerry

0

そのドメインにウィンドウをポップアップし、ユーザーにユーザー名とパスワードを入力させる必要があります。同じドメインへのすべての後続の要求に対して、新しいポップアップを取得すべきではありません。これを行う1つの方法は、mydomain.comに隠されたiframeを作成することです。これにより、認証ポップアップが起動されます。

+0

こんにちは、返信ありがとうございます。ページのビューアにユーザー名とパスがないため、ポップアップを使用できません。申し訳ありませんが、質問が明確でない場合。私はそれを編集しました。 – gerry

関連する問題