이 IIS 오류 '사용자 'IIS APPOOL\Web2'에 대한 로그인 실패'에서 사용자를 어디에서 찾을 수 있습니까?

이 IIS 오류 '사용자 'IIS APPOOL\Web2'에 대한 로그인 실패'에서 사용자를 어디에서 찾을 수 있습니까?

다음 오류가 발생합니다.

Cannot open database "testbase" requested by the login. The login failed.
Login failed for user 'IIS APPPOOL\Web2'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Cannot open database "testbase" requested by the login. The login failed.
Login failed for user 'IIS APPPOOL\Web2'.

그렇다면 이 사용자에게 Web2 권한을 어디에서 부여할 수 있습니까? (그런데 서버에는 그런 사용자가 없고 wwwroot 폴더에 Web2이라는 폴더가 있습니다 .)Web2

답변을 검색했지만 다음과 같이 모두 실패했습니다.

IUSR[1] 폴더에 사용자를 추가 하고 읽기 권한을 부여합니다.

[2]http://www.codekicks.com/2008/11/cannot-open-database-northwind.html

[삼]http://blog.sqlauthority.com/2009/08/20/sql-server-fix-error-cannot-open-database-requested-by-the-login-the-login-failed-login-failed-for- 사용자-nt-권한 네트워크-서비스/

답변1

사용자 이름 "IIS APPPOOL\Web2"를 사용하여 SQL Server에 사용자를 추가하고 해당 사용자에게 데이터베이스에 대한 액세스 권한을 부여해야 합니다. 참고하세요.~ 아니다검색에서 이 사용자 이름을 볼 수 있지만 당신은~할 것 같다"이름 확인"을 클릭하면 밑줄이 그어진 것으로 변경됩니다.

앱 풀의 권한을 관리하는 경우를 제외하면 사용자는 실제로 컴퓨터에 존재하지 않습니다.

또는 다른 사용자로 실행되도록 응용 프로그램 풀을 설정할 수 있습니다.

자세한 내용은 다음을 참조하세요.http://blogs.iis.net/webdevelopertips/archive/2009/10/02/tip-98-did-you-know-the-default-application-pool-identity-in-iis-7-5-windows- 7-네트워크 서비스에서-apppoolidentity.aspx로 변경됨그리고http://learn.iis.net/page.aspx/624/application-pool-identities/


다음은 SQL Server 로그인 목록의 예입니다.

SQL Server 사용자

다음은 데이터베이스 로그인 목록의 예입니다.

데이터베이스 사용자

데이터베이스 사용자의 세부 정보는 다음과 같습니다. (두 상자 모두 이름이 동일합니다. 두 번째 상자는 SQL Server 로그인 목록의 로그인 이름과 일치해야 합니다.)

데이터베이스 사용자 세부정보


GUI 대신 코드를 사용해 볼 수도 있습니다.

USE [master]
GO
CREATE LOGIN [IIS APPPOOL\Web2] FROM WINDOWS WITH DEFAULT_DATABASE=[testbase]
GO

USE [testbase]
GO
CREATE USER [IIS APPPOOL\Web2] FOR LOGIN [IIS APPPOOL\Web2]
GO
EXEC sp_addrolemember N'db_owner', N'IIS APPPOOL\Web2'
GO

소유자 권한을 할당했지만 더 낮은 권한을 사용하면 애플리케이션이 벗어날 수 있습니다. 일반적으로 피할 수 있는 가장 낮은 권한을 부여하는 것이 좋은 방법으로 간주됩니다.

관련 정보