SQLException: Logowanie nie powiodło się dla użytkownika „NT AUTHORITY NETWORK SERVICE
Kiedy uruchomić aplikację internetową za pośrednictwem VS 2008, aplikacja jest w stanie zalogować się na serwerze SQL i sprawdzić poświadczenia (nazwa użytkownika i hasło) wprowadzonych przez użytkownika, ale kiedy przejść do tej aplikacji za pośrednictwem IIS 7 i spróbuj ogłaszanie nazwę użytkownika i hasło, aplikacja zgłasza wyjątek:
System.Data.SqlClient.SqlException: Logowanie nie powiodło się dla użytkownika „SERVICE NT \ NETWORK "
- W przypadku IIS 7 każdy proces jest uruchamiany pod kontem Network Service ... więc jakie prawa muszę przypisać do tego konta dla aplikacji, aby móc "skontaktować się" z serwerem Sql?
thanx
EDIT:
Witam,
Działa teraz, chociaż nie rozumiem, dlaczego konto komputera potrzebuje tych uprawnień. Rozumiem, że konto urządzenia wymaga pewnych uprawnień, aby móc "rozmawiać" z określonym programem (serwerem Sql), ale dlaczego potrzebuje uprawnień dostępu do bazy danych i jej tabel? Czy to nie do konta określonego w ciągu połączenia
<add name="MyConnection" connectionString="data source=localhost; integrated security=sspi; initial catalog=aspnetdb;" />
mieć odpowiednie prawa dostępu do bazy danych i jej tabel?
SourceC, ciąg połączenia nie stosuje specyficzną kombinację login/hasło, stąd jest za pomocą programu Windows Integrated Security. Podczas korzystania z funkcji Integrated Security w ciągu połączenia aplikacja łączy się z bazą danych przy użyciu konta, na którym działa pula aplikacji aplikacji sieci Web. Jeśli chcesz użyć tożsamości osoby dzwoniącej, musisz przeczytać o podszywaniu się pod ASP.NET - nie polecam tego, mimo że istnieją różne wady stosowania tego podejścia. Zamiast tego możesz użyć kombinacji nazwy użytkownika w łańcuchu połączenia, w zależności od wymagań. – RichardOD