2012-12-14 2 views
1

그래서 여기에 대한 솔루션을 찾으려고하는 시나리오입니다.asp.net 가장을 활성 디렉토리 개체를 변경하려면

저희 회사는 현재 직원을위한 기록 시스템을 가지고 있지만 활성 디렉토리에는 연결되어 있지 않습니다. 우리는이 때문에 중복되고 종종 부정확 한 데이터를 가지고 있습니다. 내가 뭘 하려는지 레코드 시스템이 활성 디렉토리에서 값을 업데이 트하도록 허용하지만, 내가 무엇을 변경할 수있는 사람과 범위를 원한다. 그래서

  1. 우리는 새로운 고용이있을 때, 그것은 또한 AD 사용자를 만드는 초기 기록에 입력합니다.
  2. hr은 제목/설명/전화/주소 등을 업데이트하지만 시스템에서 레코드를 만들거나 삭제할 수 없어야합니다. (그들은 티켓 등을 제출해야합니다)

나는 kerberos double-hop 문제에 대해 읽으려고했는데, 내 자신의 IT 권한을 위임 할 권한이 필요해 보인다. 충분하지 않습니다. 나는 에스컬레이션 할 수 있고 더 높은 수준의 IT 직원으로부터 계정에 위임을 허용하기 위해 사인을받을 수 있지만 최후의 수단으로 저것을 저장하고 있습니다.

가장을 사용하여 작업하고 싶습니다.하지만 가장을 구현하는 방법에 대한 명확한 답을 찾는 데 어려움을 겪고 있습니다.

나는 web.config 및 iis에서 가장을 사용하도록 설정했습니다. appPool Identity를 네트워크 서비스로 설정했습니다. 그 후에는 다음에해야 할 일이나 설정을 테스트하는 방법에 대해 분실했습니다.

편집 1 : 는 또한 웹 서버가 위임 AD에서 사용할 수있다 있는지 확인하십시오 가장

var iid = HttpContext.Current.User.Identity; 
WindowsIdentity wi = (WindowsIdentity)iid; 
WindowsImpersonationContext wic = wi.Impersonate(); 
try 
{ 
    // do something with a directory entry here 
} 
catch 
{} 
finally 
{ 
    wic.Undo(); 
} 

답변

2

이 패턴을 다음과 같은거야. 그것이 어쨌든 항상 잊어 버리는 단계입니다.

커플 참조 링크 :

http://blog.reveille.org.uk/2010/01/asp-net-impersonation-delegation/ http://support.microsoft.com/kb/810572?wa=wsignin1.0 또한

당신은 웹 사이트 윈도우 인증을 사용하고 있는지 확인하십시오.

적절한 AD 액세스 권한을 가진 사용자로만 작동하면 AD 설정을 조작 할 수 있습니다 (실제로 AD 변경을 수행하는 것처럼 말입니다).

+0

이렇게하면 kerberos에 대한 위임이 가능합니까? – Michael

+0

미안하지만, 나는 종 - 대 - 끝 kerberos 부분을 통해 이상하게 여긴다. kerberos를 사용하면 컴퓨터에서 광고를 위임 할 수있을뿐만 아니라 사용자 자신도 위임 할 수 있습니다.하지만 Kerberos에 대한 더 많은 경험이있는 다른 사람이 여기에서 전화를 걸 수 있습니다. – kman

0

위임은 더 강력한 형태의 가장입니다. 가장 (Impersonation)은 로컬 컴퓨터에서 사용자로 작업 할 수있게 해주고, 위임을 사용하면 원격 컴퓨터에서 사용자로 작업 할 수 있습니다. 위임을 피하는 유일한 방법은 AD의 컨트롤을 웹 서비스에 위임하는 것입니다 (이 경우 네트워크 서비스로 실행되므로 웹 서버의 컴퓨터 계정에 원하는 속성에 쓸 수있는 권한 부여). 그리고 웹 서비스가 업데이트를 수행합니다. 웹 사이트를 사용하고있는 사용자의 변경 사항을 표시 할 수 없기 때문에 이것은 좋은 생각이 아닙니다.

+0

"웹 사이트를 사용하고있는 사용자의 변경 사항을 표시 할 수 없기 때문에 이것은 좋은 생각이 아닙니다." 이것은 내가 피하고 싶은 것입니다.나는 누가 무엇을 만졌는지 추적 할 수 있기를 원합니다. 특히 광고를 만지고 변경하는 경우 특히 그렇습니다. – Michael

+0

그러면 위임에 대한 대안 중 하나만 사용할 수 있습니다. 데스크톱 응용 프로그램을 사용하십시오. –

+1

@Michael 사실, 다른 방법이 있습니다. 암호를 요청하고 사용자가 로컬로 로그인 할 수 있도록 허용하면 일반적인 로그온 토큰을 만들어 가장 할 수 있습니다. 사용자는 싱글 사인온이 아니기 때문에 이것을 싫어합니다. –