2014-04-15 5 views
3

1) VS에서 디버그 모드로 ASP.NET 웹 응용 프로그램을 사용한다고 가정 해 보겠습니다. 그러면 코드가 어떤 사용자 계정에서 실행됩니까?ASP.NET에서 자격 증명을 통해 코드가 실행됩니까?

2) IIS에 게시 한 다음 WBA/FBA를 사용하도록 설정 한 다음 로그인 한 사용자의 사용자 이름/암호를 사용하여 ASP에 사용자를 인증한다고 가정합니다. NET 사이트에서는 코드 (SQL 쿼리 등)이 apppool 계정의 자격 증명으로 실행됩니다. 또한 어떤 신임 정보가 파일과 같은 서버의 자원에 액세스하는 데 사용됩니까?이 점에 대한 귀하의 견해는 무엇입니까?

+0

http://forums.iis.net/t/1178792.aspx?How+can+I+retrieve+a+user+s+AD+login+credentials+at+run+time+ –

답변

3

1) 나는 우리가 VS에서 디버그 모드에서 ASP.NET 웹 응용 프로그램을 사용하는 가정 알고 싶어요, 다음 코드는 사용자 계정에서 실행?

이것은 호스팅에 따라 다릅니다. VS는 VS Dev Server (VS 2012), IIS Express, 로컬 IIS 및 사용자 지정 호스트 (VS 2013)를 호스트하는 & 웹 응용 프로그램을 디버깅하는 4 가지 방법을 제공합니다. Devs 서버는 일반적으로 관리자 계정으로 실행되며 보안 테스트에 적합하지 않을 수 있습니다. 개발 웹 서버로 IIS를 직접 사용하면 IIS 프로덕션 웹 서버에 가까운 환경에서 작업 할 수 있습니다.

웹 프로젝트 속성의 웹 탭에서 구성됩니다. enter image description here

2) 나는 또한 알고 싶어, 우리가 다음 IIS 및이 게시 가정 은 WBA/FBA를 사용하도록 설정 한 다음, 로그인 한 사용자의 사용자 이름/암호로 사용된다 사용자를 ASP.NET 사이트에 인증하지만 코드는 apppool 계정의 자격 증명으로 실행됩니다. 의 의견이이 시점에서 알 수 있습니까?

분명하지는 않지만 IIS 보안에 대한 귀하의 의지가 올바르지 않을 수 있습니다. 특정 계정 (기본적으로 apppool 계정이지만 네트워크 서비스 또는 로컬 시스템 일 수 있음)에서 실행되는 웹 사이트 당 하나의 응용 프로그램 풀만 있습니다. 사용자가 로그인하면이 과정에서 아무 것도 변경되지 않습니다. 사용자는 인증 공급자를 통해 방금 연결되었습니다. Windows 인증 또는 양식 인증은 2 가지 공통 공급자입니다. 사용자 ID는 나중에 승인 규칙을 사용할 수있는 http 컨텍스트에 보관됩니다. 따라서 모든 코드 블록은 항상 같은 계정에서 실행됩니다 (위임을 사용하지 않는 한 다른 이야기입니다).

나는 higly asp.net 보안에 this complete introduction 읽어 보시기 바랍니다.

+0

응용 프로그램 풀 ID가 사용됩니다. 이 목적을 위해. – Andrew

+0

이탤릭체로 제 질문을 업데이트했습니다. 확인해주십시오. – variable

+0

위임을 사용하여 권한을 높이 지 않으면 apppool 계정이나 로그인 한 사용자 계정이 코드 블록을 실행하는 데 사용됩니다. – variable

관련 문제