서비스 수준 계정으로 실행되는 사용자 지정 응용 프로그램 풀에서 실행되는 asp.net 응용 프로그램이 있습니다. web.config에서 익명 액세스를 해제했습니다. 웹 서버는 도메인의 일부입니다. 응용 프로그램은 동일한 시스템에서 실행되는 SQL Server에 액세스합니다.Asp.net 응용 프로그램 풀 및 SQL 서버 데이터 연결
현재 모든 사용자에 대해 서비스 수준 계정을 가장하여 데이터베이스에 액세스합니다. 많은 사용자가 사이트에 액세스 할 때 lsass 프로세스가 cpu를 사용하기 시작하면 사이트 속도가 느려집니다.
SQL 서버 계정을 만들 수 없으므로 가지고있는 것들을 사용해야합니다. 각 개별 사용자를 데이터베이스에 추가하고 특정 액세스 권한을 부여 할 수도 없습니다.
제 질문은 웹 사이트 사용량이 많을 때 서비스 수준 계정의 가장을 수행하지 않아도 CPU 스 래싱을 피할 수 있도록 내 응용 프로그램과 데이터베이스의 레전션을 어떻게 설정할 수 있습니까?
실제로 클라이언트 가장이 web.config 파일에 구성됩니다. impersonate = true, 사용자 이름 및 암호 없음. 이렇게하면 처음부터 웹 사이트에 액세스 할 수 있는지 확인해야 할 때 사용자가 누구인지 파악할 수 있습니다. – user397065
이를 위해 클라이언트 가장은 필요하지 않습니다. 인트라넷 사이트와 Windows 인증이 있다고 가정합니까? 그런 다음 현재 사용자를 확인하려면 Thread.CurrentPrincipal 또는 HttpContext.Current.User를 호출하십시오. 나는 또한 나의 대답에 몇 가지 더 많은 정보를 추가했다. –
web.config 파일에서 가장을 사용하여 문제가 해결되었습니다. 이제 프로그래밍 방식으로 가장해야하지 않습니다. – user397065