2013-03-12 33 views
5

Mam serwer internetowy z dwoma witrynami: a & b.
a to produkcja.Dziwne uwierzytelnienie systemu Windows II:

b to testowanie/testowanie.

Kto napisał te aplikacje zanim mi zależy

Request.ServerVariables("LOGON_USER") 

który jest przypisany, kiedy użytkownik uwierzytelnia przeciwko serwera poprzez uwierzytelnianie systemu Windows. Na A działa to świetnie, na b istnieje pewne dziwactwo:

Otrzymuję mój monit logowania, ale nie mogę użyć [domain] \ myusername do logowania, mogę to zrobić za pomocą \\ myusername chociaż, same hasła (W oparciu o AD). Konfiguracje IIS są identyczne, o ile wiem, jedyną niespójnością jest DNS CNAME wskazujący od a.domena.com do b.domena.com. Zmiana tego rekordu DNS w punkcie IP naprawiła problem, ale staram się zrozumieć, co się dzieje.

Poprzedni rekord DNS: b.domain.com > a.domain.com

robocza DNS rekord: b.domain.com > 10.0.x.131

Należy byli b> a> uwierzytelniania zwykłych okien, ale z jakiegoś powodu znalazłem się przy użyciu \\, jest ona na sklejaniu nazwa domeny dwa razy czy coś takiego? A czym właściwie jest \\ w odniesieniu do uwierzytelniania?

Sens?

Odpowiedz

0

Kilka myśli.

  • Na jaką konkretną wersję systemu operacyjnego działa serwer? Microsoft w szczególności ma nieco inne zachowania w różnych wersjach, a dokumentacja jest specyficzna dla wersji

  • Trudno odpowiedzieć na pytania "co się dzieje", ponieważ nie ma sposobu, aby się upewnić, co jest poprawne. Mogę rzucić hipotezy (i będę), a jeśli potrafisz nazwać pytanie "jak to naprawić", a nie "co się dzieje", możesz sprawdzić, czy mam rację i odpowiedzieć, prawdopodobnie zdobywając trochę więcej istotnych danych po drodze.

  • Wygląda na to, że chodzi o głębsze zrozumienie administracji systemu niż zrozumienie programowania - jeśli nie dostaniesz tutaj tego, czego potrzebujesz, możesz mieć więcej szczęścia zadając pytanie o serwer.

Po tym, jak powiedziano, w przypadku braku innych informacji, "\" najprawdopodobniej wynika z jednej z dwóch rzeczy.

Możliwe, że masz dwie różne części kodu, z których każda dodaje znak "\". Nazwy domen są w wielu przypadkach ważne zarówno z końcowym "\", jak i bez niego. W związku z tym jest całkiem możliwe, że uwierzytelnianie systemu Windows dodaje jeden bezpośrednio po nazwach domen i przed identyfikatorami logowania w celu zapewnienia separacji między tymi dwoma. Jeśli wyszukiwanie DNS CNAME automatycznie dodaje jeden na końcu nazwy domeny z podobnych powodów, dwie mogą się ułożyć.

Jest możliwe, że gdzieś w procesie DNS domena mogła przejść przez konwerter, aby zmienić znaki kontrolne na znaki ucieczki (jako sposób na uniknięcie niektórych luk w zabezpieczeniach). "\" jest używane jako podstawa takich znaków ewakuacyjnych, a zatem wymaga własnego znaku ucieczki ('\').

+0

To właściwie domyślny monit o uwierzytelnianie systemu Windows, w którym \\ wchodziło do gry. Wydaje mi się, że wpis DNS zakłócił nagłówek hosta wprowadzając w błąd IIS. Zastanawiałem się, dlaczego tak go to zmyli, nie sądzę, że DNS powinien mieć jakikolwiek wpływ. Publikując to, miałem większą nadzieję, że ktoś natknął się na to, zanim przejdzie do części \\. \\ jest zwykle ucieczką, ale \ samo nie działa. – RandomUs1r

+0

Jeśli możesz odpowiedzieć na pytanie, którego systemu operacyjnego używasz, być może będę mógł pomóc dalej. –

+0

To jest serwer Windows Server 2003 z uruchomioną usługą IIS 6 z trzema witrynami: domyślnymi, aplikacjami webowymi i witryną internetową. – RandomUs1r

Powiązane problemy