Obecnie przechowujemy użytkowników naszej aplikacji internetowej w naszej bazie danych wraz z hashe/solami ich haseł. Hashy są obliczane, gdy użytkownik jest tworzony i ustawia swoje hasło i przechowywane w tabeli użytkownika w bazie danych.Czy można obliczyć skrót hasła używany przez usługę Active Directory?
Jakiś czas po utworzeniu konta użytkownika możemy chcieć utworzyć konto systemu Windows w naszej domenie i chcieć ustawić hasło użytkownika domeny, aby było takie samo, jak hasło używane do logowania do aplikacji internetowej. Ponieważ nie zapisujemy wersji hasła w postaci zwykłego tekstu, nie mamy sposobu, aby wysłać ją do AD, gdy ją stworzyliśmy.
Jednym ze sposobów, w jaki myślałem o obejściu tego problemu, byłoby obliczenie wszystkich skrótów haseł używanych przez AD, gdy użytkownik po raz pierwszy ustawi hasło, a następnie jakoś ustawi rekordy w AD później, gdy utworzymy użytkownika.
- Jak utworzyć hasze (myślę, że są to MD4, MD5 i DES), używając .Net?
- Czy można pominąć tworzenie hasła w UserPrincpal.SetPassword i wykonać inne połączenie w celu bezpośredniego ustawienia skrótów przechowywanych przez AD?
Wygląda na to, że powinien istnieć sposób, aby to zrobić, ponieważ MS ma narzędzia do synchronizacji haseł od AD do użytkowników Azure.
Interesujące pytanie, ale myślę, że to zadziała tylko wtedy, gdy użyjesz tej samej soli co Windows?!? A z perspektywy bezpieczeństwa: czy dobrze jest mieć to samo hasło w obu systemach?Powiedziałbym, że to, czego szukasz, to pojedynczy znak na rozwiązaniu. – Marged
Problem polega na tym, o ile mi wiadomo, że system Windows nie działa dobrze z pojedynczym logowaniem, chyba że jest to "pojedynczy" punkt do wpisania się. W jakiś sposób MS ma narzędzia do synchronizacji haseł, więc uważam, że musi to być możliwe. – bpeikes
W zależności od tego, gdzie jest uruchomiona aplikacja internetowa, możesz używać SSO przy użyciu różnych technik: SAML, Kerberos, certyfikaty. Staraj się jednak wdrożyć synchronizację i nie zapomnij o implikacjach związanych z bezpieczeństwem. Pierwsze S w SSO czasami jest bardziej "ciche" niż pojedyncze ;-) – Marged