2016-08-22 6 views
0

Oracle ManagedDataAccess 드라이버를 사용하여 .NET Web Application에서 데이터베이스에 액세스하고 있습니다. IIS Express에서 로컬로 Windows 사용자 x로 실행하면 정상적으로 작동하지만 IIS가있는 다른 서버에 내 사이트를 게시 할 때 오류가 발생합니다.Windows 사용자 이름이 Oracle DB에 전달되지 않습니까?

ORA-01017 : 잘못된 사용자 이름/암호입니다. 로그인이 거부되었습니다.

윤곽선이 here 인 것으로 오라클에서 시도한 로그인을 보았습니다. IIS에서 로그인이 성공한 곳에서는 내 Windows 사용자 이름 (OPS $ (USERNAME))이 표시됩니다.

흥미롭게도 로그인에 실패하면 IIS에서 잘못된 사용자 이름이 전달되는 것을 볼 수 있습니다 - Username = OPS $ (NAME_OF_MY_WEB_APPLICATION). 나는 응용 프로그램의 이름을 사용자 이름으로 대체 할 생각이 어디 있는지 알지 못합니다. ; 데이터 원본 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)) (HOST = (PORT = 1521) (CONNECT_DATA 사용자 ID =/ :

내 연결 문자열은 두 환경에서 동일 = (SERVICE_NAME = ...)));

+0

I NTLM (windows) 인증은 해당 사이트와 서버에서 활성화됩니까? 익명 액세스를 비활성화해야합니다. IIS 설정을 확인하십시오. – peter

답변

0

내 Web.config의 문제 해결에

<identity impersonate="true" /> 

를 추가, 가장이 IIS에서 비활성화되었습니다 밝혀 내 Oracle 드라이버는 응용 프로그램의 이름을 사용했다. 내 웹 응용 프로그램과 동일한 풀 사용자.