Znajduję zaskakująco mało informacji na temat konwersji istniejącej bazy danych z zaszyfrowanych haseł do haseł Hashed. (Udało mi się znaleźć nieco więcej informacji na temat konwersji w drugą stronę, ale nie było to zbyt pomocne).Zmiana hasła z zaszyfrowanego na Hashed
Jak większość ludzi wie, zmiana ustawienia 01.w pliku web.config wpływa tylko na nowych użytkowników. Mam bazę danych z kilkoma setkami użytkowników i chciałbym je przekonwertować, aby używać hashowanych haseł bez zmiany istniejących haseł.
Czy ktoś jeszcze zna sposób, w jaki można to podejść? Dzięki za wszelkie wskazówki.
Obecnie próbuję aktualizować jasne hasła tekstowe do zaszyfrowanych haseł. Chcę, żeby je uśpili, ale klient nie. W każdym razie to rozwiązanie wygląda obiecująco. Bardzo elegancki w swojej prostocie. Mam nadzieję, że to działa. – mikesigs
Mam to działa, ale zastrzeżenia były zbyt wiele do zniesienia. Przede wszystkim nie możesz po prostu wywołać ChangePassword na mieszanym dostawcy, ponieważ musisz podać istniejące hasło (które próbuje mieszać w celu porównania z wartością bazy danych, która nie jest mieszana). Musisz więc wywołać ResetPassword, aby uzyskać tymczasowe hashowane hasło w celu wywołania ChangePassword. Występ jest zabójcą. Musisz pobrać każdego użytkownika MembershipUser, a następnie wywołać GetPassword, ResetPassword i ChangePassword dla każdego z nich. Ponad 3 * N trafień na db! Zawinęłem ją w transakcję i szybko wyczerpałem swoją pulę połączeń. – mikesigs
Mam zamiar zbadać procedurę przechowywaną CLR, dzięki czemu mogę wywołać mechanizmy szyfrowania dostawcy z SQL. Odpowiem, jeśli to zadziała. – mikesigs