2010-04-01 1 views

답변

7

Keith Brown의 설명 impersonation을 확인하십시오. 정말 Windows 개념입니다.

폼 인증 (FA)을 사용하는 응용 프로그램을 사용하는 경우 IIS 프로세스는 IIS의 특정 사용자 설치 정보로 실행됩니다.

예 : Bob이라는 사용자가 FA를 사용하여 로그온 한 경우 및 IIS 설치 프로그램이 네트워크 서비스로 실행하는 경우. Bob은 다른 컴퓨터에 웹 서비스 호출을하는 페이지에 액세스하고, 다른 컴퓨터에는 Bob이 아닌 IIS 사용자가 표시됩니다. 가장을 사용하면 Bob이 네트워크 서비스가 아닌 실제 Windows 사용자로 웹 서비스에 액세스 할 수 있습니다.

가장은 악의가 없지만 오용 될 수 있습니다. 전체 보안 모델에 미치는 영향을 이해해야합니다. 또한 개발자가 디버깅 할 수있는 많은 작업을 만드는 것입니다. 액세스하려는 리소스 (예 : 웹 서비스)에 대한 관리자 권한이없는 경우 특히 그렇습니다.

+0

링크가 만료되었습니다. – Imad

+0

@ImadoddinIbnAlauddin 인터넷 아카이브 페이지로 연결되는 링크로 교체되었습니다. 나는 실제로 저자에게 직접 연락하여 온라인으로 다시 되돌릴 수 있는지 알아볼 것입니다. –

7

웹 응용 프로그램은 웹 서버를 통해 실행됩니다. 해당 웹 서버는 자신과 다른 권한을 가진 사용자로 실행됩니다. 가장은 응용 프로그램이 실행중인 컴퓨터에 로그인 한 것처럼 응용 프로그램을 사용자 (또는 cmoputer에서 다른 priveledge를 가진 다른 사용자)처럼 실행할 수있게합니다.

실제로 상황이 상당히 좋았습니다. 이 기능을 사용하면 컴퓨터의 보호 된 파일에 대한 액세스 권한을 부여/제한 할 수 있습니다.

네, 폼 인증을 사용하여 적용 할 수 있습니다 (하지만 반드시 할 필요는 없습니다).

2

ASP.NET 응용 프로그램은 요청을 한 사용자의 Windows ID (사용자 계정)로 실행할 수 있습니다. 가장은 일반적으로 Microsoft 인터넷 정보 서비스 (IIS)를 사용하여 사용자를 인증하는 응용 프로그램에서 사용됩니다.

ASP.NET 가장은 기본적으로 해제되어 있습니다. ASP.NET 응용 프로그램에서 가장 (impersonation)을 사용하는 경우 해당 응용 프로그램은 IIS가 ASP.NET으로 전달하는 액세스 토큰을 가진 ID의 컨텍스트에서 실행됩니다. 이 토큰은 로그인 한 Windows 사용자의 토큰과 같은 인증 된 사용자 토큰이거나 IIS가 익명 사용자 (일반적으로 IUSR_MACHINENAME ID)에 제공하는 토큰 일 수 있습니다.