SQL Server에 대한 연결을 열려고하면 ASP.NET v3.5 웹 응용 프로그램이 다음 예외를 throw합니다. 2008 데이터베이스 :ASP.NET 및 SQL Server 2008에서 'NT AUTHORITY IUSR'사용자가 로그인하지 못했습니다.
System.Data.SqlClient.SqlException : 가 로그인하여 데이터베이스 "MyDbName" 를 요청 할 수 없습니다. 로그인 이 (가) 실패했습니다. 'NT AUTHORITY \ IUSR'사용자가 로그인하지 못했습니다.
문제는 서버의 로그인 목록과 데이터베이스의 사용자 목록에 NT AUTHORITY\IUSR
을 추가 한 것입니다. 서버의 경우 사용자에게 Public 역할을 부여했으며 데이터베이스에는 db_datareader
권한을 부여했습니다.
또한 응용 프로그램 풀이 실행중인 ID 인 NT AUTHORITY\NETWORK SERVICE
에 대해서도 동일한 권한을 부여했습니다.
웹 응용 프로그램이 IIS7에 의해 호스팅되면 차이가 있습니다. 문제는 DB와 IIS가 동일한 실제 컴퓨터에도있을 때 발생합니다.
- 생산 토폴로지 가장 잘 설명되어있다 거대한. 어쨌든, 당신은 그것을 못 박았 - 난 machineName $에 대한 권한을 추가했다. 고맙습니다! –
비슷한 것을 추가하고 싶습니다. IIS 6.0 웹 사이트 -> 속성 -> 디렉터리 보안 -> 편집 (인증 ...)에서 발견되는 IUSER 사용자 이름에 대한 사용 권한을 IUSR_MACHINENAME 인 사용 권한을 만들어이 문제를 해결했습니다. – shawad
어떻게 MachineName $ VS –