2013-09-04 4 views
2

웹 API를 사용하는 Windows Auth를 사용하는 MVC 응용 프로그램이 있습니다. 두 도메인 모두 동일한 도메인 내에서 호스팅되지만 다른 서버에 있습니다 (MVC는 공개적으로 액세스 할 수 있음). 이제 Web Api 서비스에 사용자가 특정 AD 그룹에 있어야하는 "CreateFooBar"메소드가 있다고 가정합니다. MVC 레이어에서 사용자가 실제로 그룹에 있는지, JSON 메시지를 패키지로 만들고 "CreateFooBar"를 호출하는지 쉽게 확인할 수 있습니다. 그러나 서비스가 어떻게 이러한 점검을 수행합니까? 어떤 사용자가 요청했는지 어떻게 알 수 있습니까?MVC에서 Web Api에 사용자 ID 전달

초기 생각은 JSON 메시지에 userID를 추가하고 서비스 메소드가 세부 정보를 검색하도록하는 것입니다.하지만 이는 누군가가 원하는 모든 사용자 ID를 전달할 수있게하므로 명확하게 작동하지 않습니다. 누군가가 나를 올바른 방향으로 향하게 할 수 있습니까?

답변

3

Kerberos 위임과 같은 것을 사용해야합니다. Kerberos를 사용하여 MVC 응용 프로그램에서 사용자를 인증 한 다음 Kerberos 토큰을 웹 API 호출에 전달합니다.

현재 ASP.NET 응용 프로그램에서 Exchange 웹 서버로 자격 증명을 전달하는 작업을하고 있습니다. 그것은 잘 작동합니다.

당신이 더 많은 정보를 원하시면이 KB 확인하려면 다음 http://support.microsoft.com/kb/810572

+0

+1 절대적으로 .. # – Aliostad

0

당신은 당신을 위해 무엇을 할 수있는 창 정체성을 기반으로 보일 것입니다. 귀하의 환경에 adfs를 설정하고 주장을 사용함으로써 당신이 말하는 대부분의 문제를 해결할 수 있습니다.

Visual Studio의 경우 ID 및 액세스 플러그인이 필요하며 자체 호스팅 된 STS를 사용하여 아이디어를 테스트 할 수 있습니다.

관련 문제