Nie jestem pewien, czy dotyczy to VS 2010, czy wersji zaktualizowanej, ale ... używamy dostawcy członkostwa Oracle do uwierzytelniania użytkowników. Przed aktualizacją wszystko działało poprawnie, ale teraz Membership.ValidateUser(user, password)
zwraca false
pomimo ważnych poświadczeń. Nie jest zgłaszany wyjątek, więc trudno określić, jaki może być problem. Narzędzie do administrowania witryną w VS 2010 nadal jest w stanie zarządzać użytkownikami i rolami (mniej więcej), więc nie mam powodu kwestionować łączności. Jaki może być problem?Membership.ValidateUser zawsze zwraca wartość false po aktualizacji do wersji VS 2010/.NET 4.0
Odpowiedz
Odpowiedź urządzenia (zgodnie z this post) jest określenie hashAlgorithmType="SHA1"
w pliku web.config:
<membership defaultProvider="OracleMembershipProvider" hashAlgorithmType="SHA1"/>
ten nie rozwiązało problemu dla istniejących użytkowników, ale nowi użytkownicy mogą się teraz logować.
Może występować rozbieżność klucza maszynowego.
W web.config - niejawna sekcja machineKey
korzysta z automatycznie generowanych kluczy szyfrowania i sprawdzania poprawności, które są ponownie wpisane w identyfikator aplikacji (AutoGenerate,IsolateApps
).
Czy testujesz z inną aplikacją lub na innym komputerze?
Czy dostawca członkostwa Oracle 2.0 lub 4.0?
A to tylko ukłucie w ciemności, może to doprowadzi cię do rozwiązania.
Od .NET Framework 4 Migration Issues
rodzajów członkostwa
niektórych typów (na przykład System.Web.Security.MembershipProvider), które są wykorzystywane w członkostwa ASP.NET zostały przeniesione z System.Web.dll do zestaw System.Web.ApplicationServices.dll. Typy zostały przeniesione w celu rozwiązania zależności między warstwami architektonicznymi między typami w kliencie i rozszerzonymi jednostkami SKU platformy .NET Framework.
Biblioteki klas, które zostały zaktualizowane z wcześniejszych wersji ASP.NET i używają przeniesionych typów członów, mogą nie zostać skompilowane, jeśli są używane w projekcie ASP.NET 4. Jeśli tak, należy dodać odniesienie do projektu biblioteki klasy do System.Web.ApplicationServices.dll
nie mamy problemu kompilacji, a problem występuje zarówno z Oracle dostawcy członkostwa 2.0 i 4.0. –
Brzmi trochę jak problem mam ..
Dodawanie MachineKey elementu do web.config zamiast hashAlgorithmType = „SHA1” rozwiązaniu problemu .. ale ja nadal nie rozumiem, dlaczego muszę umieścić, że ... nie udało się znaleźć żadnej dokumentacji ani ..
można sprawdzić moje pytanie tutaj .. The user name or password provided is incorrect. in MVC 3 Internet Application
- 1. Android BluetoothSocket.isConnected zawsze zwraca wartość false
- 2. getBoolean (EXTRA_NO_CONNECTIVITY) zawsze zwraca wartość false
- 3. .post wewnątrz jQuery.validator.addMethod zawsze zwraca wartość false
- 4. curl_exec() zawsze zwraca false
- 5. X509Certificate2.Verify() zwraca false zawsze
- 6. PHP in_array() zawsze zwraca false
- 7. Poczta zwraca wartość false
- 8. Zapytanie o kolumnę boolową zawsze zwraca wartość false
- 9. Funkcja PHP is_writable() zawsze zwraca wartość false dla zapisywalnego katalogu
- 10. User.Identity.IsAuthenticated ma wartość false po pomyślnym zalogowaniu
- 11. rails update_attributes zwraca wartość false podczas próby aktualizacji wartości db
- 12. checkdnsrr zawsze zwraca wartość false w systemie Windows
- 13. Kiedy mysql_query zwraca wartość false
- 14. Dlaczego String.Equals zwraca wartość false?
- 15. Android Facebook SDK - session.isOpened() zawsze zwraca false
- 16. Funkcja getActionBar() zwraca wartość null po aktualizacji pakietu SDK do wersji 5.0
- 17. Dlaczego wartość Integer.respond_to? (: Even?) Zwraca wartość false?
- 18. NET :: ERR_CERT_COMMON_NAME_INVALID po aktualizacji do Chrome 44
- 19. PHP is_writable() zwraca wartość true, ale file_put_contents() zwraca wartość false
- 20. getResourceAsStream() zawsze zwraca wartość null
- 21. SelectSingleNode zawsze zwraca wartość null?
- 22. fsolve zawsze zwraca wartość domyślną
- 23. getDrawingCache() zawsze zwraca wartość null
- 24. newSpellCheckerSession zawsze zwraca wartość null
- 25. isAvailableForServiceType zawsze zwraca wartość true?
- 26. Zasoby zespołu FileNotFoundException w projekcie zaktualizowanym do wersji VS 2010 4.0
- 27. Intent.getExtras() zawsze zwraca wartość null
- 28. GetTemplateChild zawsze zwraca wartość null
- 29. Kiedy commit Androida SharedPreferences() zwraca wartość false?
- 30. Dlaczego IsDisposed zwraca false po wywołaniu Dispose()?
Zgaduję, że dla nowo utworzonych użytkowników dodanie 'hashAlgorithmType' jest czerwonym śledziem. Spróbuj dodać i uwierzytelnić nowego użytkownika bez niego. Podejrzewam, że problem jest związany z kluczem maszyny autogenowanej. Piszę kilka testów. zaktualizuje odpowiedź. –
Nowo utworzonych użytkowników można uwierzytelnić na innym (rozwojowym) polu, więc myślę, że hashAlgorithmType rozwiązał problem. –
@ nw - dzięki za odpowiedź, ponieważ miałem ten sam problem i waliłem głową w ścianę przez wiele godzin. Wydaje się, że nie ma żadnej dokumentacji na temat konieczności dokonania tej zmiany podczas aktualizacji do .net 4.0. – leora