Moja aplikacja internetowa ASP.NET v3.5 rzuca następujący wyjątek przy próbie otwarcia połączenia z serwerem SQL 2008 bazy danych:Błąd "Logowanie nie powiodło się dla użytkownika" ZARZĄDZANIE NT IUSR '"w ASP.NET i SQL Server 2008
System.Data.SqlClient.SqlException: nie można otworzyć bazy danych "MyDbName" żądanie logowania. Zalogowanie się nie powiodło się. Logowanie nie powiodło się dla użytkownika "NT AUTORYZACJA \ IUSR".
Chodzi o to, że dodałem NT AUTHORITY\IUSR
do listy logowania na serwerze i do listy użytkowników bazy danych. Na serwerze przyznano użytkownikowi rolę Publiczną, a dla bazy danych przyznano uprawnienia: db_datareader
.
Też nadałem to samo dla NT AUTHORITY\NETWORK SERVICE
, która jest tożsamością, na której działa pula aplikacji.
Aplikacja internetowa jest hostowana przez IIS7, jeśli to robi różnicę. Problem repros, gdy DB i IIS są również na tym samym komputerze fizycznym.
właśnie badania, aby sprawdzić czy wszystko będzie praca na tym samym polu - w produkcji topologia jest najlepiej opisać jako rozwalony. W każdym razie, przybijałeś to - musiałem dodać uprawnienia do machineName $. Dziękuję Ci! –
Po prostu chciałem dodać, że podobnie rozwiązałem ten problem, tworząc uprawnienia dla nazwy użytkownika IUSER znalezionej w witrynach sieci Web IIS 6.0-> Właściwości-> Zabezpieczenia katalogów-> Edycja (uwierzytelnianie ...), która była IUSR_MACHINENAME – shawad
W jaki sposób dodałeś uprawnienia do MachineName $ in VS –