2014-12-19 33 views
8

Mam .NET Web API z wieloma punktami końcowymi/metodami, które wywołuje aplikacja kątowa. Chcę teraz zaimplementować system logowania w naszym aktywnym katalogu i zastanawiam się, jakie są moje opcje.AngularJS z .NET Web API: uwierzytelnianie z AD

Dawno temu było to proste: uwierzytelnianie okien lub formularzy, a następnie tylko prosta konfiguracja w pliku web.config i może być niestandardowym dostawcą. Ale teraz wydaje się, że jest o wiele więcej opcji z OWIN, OAuth, uwierzytelnianiem opartym na tokenie itp.

Od czego zacząć? Mam formularz z nazwą użytkownika, hasłem i przyciskiem logowania w aplikacji Angular i mam aktywny katalog w backendie. Co powinno się stać, gdy użytkownik kliknie przycisk logowania? Pomocny mógłby być każdy kierunek.

Dzięki.

+0

Skąd pochodzą użytkownicy? Czy to intranet? –

+0

Tak, to intranet na razie – Prabhu

+0

Jeśli jest to intranet, nic nie stoi na przeszkodzie, aby użyć uwierzytelniania systemu Windows. Nie potrzebujesz nawet formularza uwierzytelniającego. Ale jak wspomniałem w mojej odpowiedzi, zależy to od twoich dalszych planów. –

Odpowiedz

1

Cóż, to zależy od tego, czego faktycznie potrzebujesz.

Jeśli chcesz uwierzytelnić tylko użytkowników AD, możesz spróbować uwierzytelnić się w AD w ich imieniu, a w przypadku powodzenia zwrócisz token lub plik cookie uwierzytelniający.

Ale nie sądzę, że dobrym pomysłem jest sprawić, aby użytkownicy używali swojego hasła do domeny, chyba że posiadasz uwierzytelnianie dwuetapowe.

Lepiej rozszerzyć schemat AD o dodatkowe dane do uwierzytelnienia za pośrednictwem usługi lub nawet mieć autonomiczny serwer uwierzytelniania z powiązanymi informacjami o użytkownikach domeny. Zobacz jak to się robi w serwerze SQL (ale w odwrotnym kierunku): musisz zdefiniować użytkownika wewnętrznego odpowiadającego logowaniu do domeny. Takie podejście pozwala mieć użytkowników, którzy nie należą do AD, czasami może to być ważne dla zlecania niektórych zadań.

Spójrz na IdentityServer

Powiązane problemy