2017-02-01 45 views
8

Nasza konfiguracja wygląda następująco: korzystamy z serwera coldfusion 10, a pliki znajdują się w lokalnym intranecie. Użytkownicy korzystają z logowania do domeny, aby uzyskać dostęp do plików za pośrednictwem protokołu HTTPS. Interesuje mnie używanie websockets html5, ale pierwsza próba dała mi błąd, ponieważ nie podano żadnych poświadczeń. Czy istnieje sposób obejścia tego? Jeśli nie, czy istnieje zalecana technologia dla tego scenariusza?Czy mogę używać html5 Websockets z uwierzytelnianiem domen Windows?

Użytkownik loguje się po stronie klienta. Jeśli to możliwe, to co chciałbym tutaj zrobić, to przekazanie tych referencji podczas nawiązywania połączenia z serwerem.

+0

Czy próbowałeś użyć ColdFusion do uzyskania jakichkolwiek poświadczeń? –

+0

Użytkownik loguje się po stronie klienta. Czy mogę dostarczyć te przez gniazdo? –

Odpowiedz

3

powinieneś być w stanie dostarczyć nagłówek authentication do serwera gniazd internetowych, zanim podniesienie do gniazda sieciowego odczyta je i odeśle z powrotem do nagłówków dla elewacji (pierwsza klatka), a następnie, gdy przeglądarka połączy się, powinna mieć uwierzytelnienie to potrzebuje.

jeśli używasz niestandardowego uwierzytelnienia E.G w nagłówku strony nie authentication możesz to zrobić, przekazując dowolny niestandardowy nagłówek do swojego serwera.

Albo nakazać, że pierwszą rzeczą, którą klient sieci wysyła, jest szczegóły uwierzytelniania, które mogą być podobne do {username_hash}.{password_hash}, jeśli nie zamykają gniazda.

+0

Spróbuję później w tym tygodniu i wrócę tu z wynikami, ale ty jesteś jedynym, który pomógł, więc daję ci nagrodę w obie strony. –

1

Nie rób tego. Jesteś teraz odpowiedzialny za wysyłanie i szyfrowanie danych uwierzytelniających samodzielnie, pomijając coś, co już działa i jest testowane.

Każdy może snoopować na niezaszyfrowanym porcie websocket. Używaj HTTPs do intranetu, korzystaj ze stabilnych rozwiązań, nie wynajduj ponownie tego koła, ponieważ łaskocze Twoje wyobrażenie.

Za kilka lat niektórzy koledzy będą musieli to utrzymać i będą musieli dowiedzieć się, jak działa twoja wersja homebrew, a także coś, co jest solidne jak zwykłe uwierzytelnianie przeglądarki.

Moja rada: Pozostaw to przeglądarce i dobrze przetestowanym bibliotekom ColdFusion.

+0

O ile jestem w stanie znaleźć, nie ma takich bibliotek cf. Używanie cf10 i coldfusion websockets nie może nawet zrobić wss. W każdym razie intranet jest nad https i gniazdo będzie w tej samej sieci. Zastanawiam się, czy może websockets po prostu nie są właściwym rozwiązaniem dla mnie. –

+0

Nikt nie może podsłuchiwać niezaszyfrowanego serwera websocket, ponieważ nie są dozwolone na niczym innym niż 'localhost/127.0.0.1' w innym przypadku muszą używać' WSS', który używa certyfikatu SSL, po drugie przeglądarka nie obsługuje uwierzytelniania na posiadanych WebSockets wdrożyć go w jakiejś formie. –

+0

Nie miałem na myśli w kontekście przeglądarki, ale bardziej globalnej. Dzięki prostemu narzędziu do przechwytywania pakietów mogłem je wyciągnąć prosto z przewodu lub z cienkiego powietrza na niezaszyfrowanym Wi-Fi. Mój punkt brzmiał: Jeśli wysyłasz poświadczenia, nie wysyłaj ich przez niezaszyfrowaną rurę jak gniazdo inne niż WSS. – SchizoDuckie