2013-05-28 18 views
9

Czy istnieje kompletne rozwiązanie Visual Studio zawierające projekt z aplikacją MVC, która uwierzytelnia się przy użyciu protokołu Kerberos. To z kolei wywołuje projekt usługi ASP.Net Web API (w tym samym rozwiązaniu), delegując poświadczenia do usługi podczas połączenia serwisowego (GetAsync lub PostAsync)?Przykładowy projekt z użyciem protokołu Kerberos, Web API i MVC

Mam konkretny problem z poświadczeniami, w przypadku gdy podszywany użytkownik w projekcie interfejsu API sieci Web przychodzi jako konto usługi z uruchomioną aplikacją MVC, a nie użytkownik, który go wysyła. Znalazłem przykłady konkretnych linii lub kodu, aby naprawić określone problemy, ale naprawdę szukam jednego rozwiązania, które łączy wszystko.

Widziałem zasoby, takie jak Pro ASP.NET Web API Security i ASP.Net Web-API Security, ale żaden nie zawiera pełnego rozwiązania pokazujące, jak zaimplementować schemat autoryzacji dla Windows Authenticaiton, a konkretnie Kerberos.

Rozumiem, że może to być nieco poza zwykłymi zadawanymi pytaniami, ale wolałbym pełne rozwiązanie zamiast umieszczać konkretne pytanie kodowe, jeśli to możliwe.

Odpowiedz

2

Gdy aplikacja internetowa MVC uruchamia zapytanie początkowe, tożsamość użytkownika jest dołączona do wątku, który obsługuje żądanie. Jeśli wykonasz asynchroniczne wywołanie usługi WWW, zdalne wywołanie jest wykonywane przez wątek puli wątków, który nie ma żadnego powiązania z tożsamością użytkownika. Możesz spróbować podać odniesienie do aktualnej tożsamości (z HttpContext) i podszyć się, ale wydaje się, że byłyby warunki wyścigu, których musisz unikać.

Oczywiście zakłada się, że połączenia zdalne działają synchronicznie. Czy dotarłeś tak daleko?

+0

Tak, zmusiłem WebClient do pracy. Ponieważ wysyłanie obiektów danych jest trudniejsze, miałem nadzieję, że użyję nowego HttpClient. Ale w tym, co czytałem, wydaje mi się, że utknąłem z WebClientem. – tlbignerd

Powiązane problemy