2017-02-01 111 views
8

我們的設置是這樣的:我們使用一個ColdFusion 10服務器,並且文件位於本地Intranet上。用戶使用域登錄通過https訪問任何文件。我對使用html5 websockets感興趣,但第一次嘗試給我一個錯誤,因爲沒有提供證書。有沒有解決的辦法?如果不是,這種情況下推薦的技術是什麼?我可以在Windows域身份驗證中使用html5 Websockets嗎?

用戶確實在客戶端登錄。如果可能的話,我真正想在這裏做的是在連接到服務器時傳遞這些憑據。

+0

您是否嘗試使用ColdFusion獲取任何憑據? –

+0

用戶在客戶端登錄。我可以通過插座供應嗎? –

回答

3

您應該能夠在提升到web套接字之前將網頁套接字服務器的authentication標頭提供給您的網絡套接字服務器,然後將其發送回擡頭標頭(第一幀),然後當瀏覽器連接它時應該進行身份驗證它需要。如果您使用頁面自定義身份驗證E.G不authentication頭,您還可以通過傳遞任何自定義標題,您的服務器做

或者要求您的Web客戶端發送的第一件事是身份驗證詳細信息,如果它們不關​​閉套接字,它可能類似{username_hash}.{password_hash}

+0

本週晚些時候我會試一試,然後返回這裏的結果,但是你是唯一一個幫助過我的人,所以我會以任何方式給你賞金。 –

1

不要這樣做。 您現在負責自己發送和加密身份驗證憑據,繞過已運行並經過測試的內容。

任何人都可以窺探未加密的WebSocket端口上。使用HTTPs作爲Intranet,使用穩定的解決方案,不要重複發明這個輪子,因爲它會讓你感到尷尬。

在幾年一些同事將不得不保持這一點,並要弄清楚你的自制版本如何工作與東西是固體狀純瀏覽器的認證。

我的建議是:離開這個瀏覽器,並經過嚴格測試的ColdFusion庫。

+0

據我所能找到的,沒有這樣的cf庫。使用cf10和coldfusion websockets甚至不能做wss。無論如何,內部網通過https和套接字將在同一網絡上。我想知道websockets對我來說可能不是合適的解決方案。 –

+0

沒有人能竊取未加密的WebSocket服務器作爲不允許他們任何東西,但'本地主機/ 127.0.0.1'其他明智的,他們必須使用'它採用了SSL證書,其次是瀏覽器不上的WebSockets你有支持的認證WSS'以某種形式實施它。 –

+0

我並不是指在瀏覽器環境中,而是更全球化。有了一個簡單的包捕獲工具,我可以將這些線從電線上拉直,或者在未加密的無線網絡上輕鬆地拖出。 我的觀點是:如果您發送憑證,請不要通過未加密的管道(如非WSS套接字)發送憑證。 – SchizoDuckie

相關問題