2012-01-02 28 views
1

我想在我的GWT應用程序中呈現一些圖像。這些圖像存儲在一個受密碼保護的url中,在我的網站的外部一般情況下。我可以使用Image(java.lang.String url)構造函數,並在url中使用用戶名和密碼。所以,我可以打電話:在gwt中創建受密碼保護的URL的圖像對象

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

但隨後的用戶名和密碼將是任何人查看該頁面的源代碼可見。我想建立與該URL身份驗證的連接,然後使用普通的URL在構造函數中:

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

我不想通過一個彈出窗口,要求用戶名和密碼的用戶,因爲在一般情況下,他將與圖像所屬的人不同,因此他不會擁有憑據。圖片的所有者在註冊時向我提供他們的網址,用戶名和密碼。

這是可能的嗎?

回答

1

如果您的用戶沒有憑據來查看圖像,那麼您將無法從用戶的客戶端加載它們。沒有好的方法來爲他們提供密碼而不讓他們看到密碼。

你可以通過發送圖像請求到你自己的服務器來重構這個。然後,您自己的服務器可以將請求發送到外部服務器,提供密碼,並將響應傳回給用戶。這是一個額外的跳躍,但您可以保持密碼完全保密。

如果您要求您的用戶輸入其他網站的密碼,您需要非常小心地使用。一般來說,這聽起來像是一種冒險的嘗試 - 你公開了很多不同的方式來訪問別人的文件。可以創建的人越少越好。如果外部站點支持oauth等間接授權方法,那麼您絕對應該優先考慮用戶的密碼。

+0

這似乎是正確的。感謝您爲我澄清事情。 – gerry 2012-01-02 15:37:00

0

你需要彈出一個窗口到該域,並讓用戶填寫他們的用戶名和密碼。對於後續對同一個域的所有請求,您不應該獲得新的彈出窗口。一種方法是爲mydomain.com創建一個隱藏的iframe。這應該會觸發auth彈出窗口。

+0

嗨,感謝您的回覆。我無法使用彈出式窗口,因爲頁面的查看器沒有用戶名和密碼。對不起,如果問題不明確。我編輯過它。 – gerry 2012-01-02 12:13:00