2013-02-26 14 views
5

Chciałbym zbudować prostą stronę internetową, na której klient może składać zamówienia i przeglądać produkty. Te dane to moje środowisko Microsoft Dynamics CRM 2011.Jak uwierzytelnić się w CRM 2011?

Te dane są specyficzne dla klienta, więc potrzebuję informacji o użytkowniku, który jest zalogowany. Dane użytkownika są przechowywane w CRM 2011. Dzięki tym referencjom użytkownicy mogą zalogować się do tej nowej niestandardowej witryny. Nie powinni mieć dostępu do samego środowiska CRM.

W jaki sposób skonfigurować uwierzytelnianie dla tej strony internetowej? Czy mogę po prostu zapytać o informacje o użytkowniku w CRM 2011, czy powinienem skonfigurować aplikację ADFS lub coś innego?

+0

Czy CRM jest dostępny on-line lub na miejscu? Co masz na myśli, gdy użytkownik nie może logować się do CRM? W jaki sposób mają zezwolić sobie na pozyskiwanie danych? –

+0

CRM jest na miejscu. Chodzi mi o to, że użytkownicy powinni mieć możliwość logowania tylko w niestandardowej witrynie, którą chciałbym zbudować, a nie samej aplikacji CRM 2011. –

+0

Czy witryna będzie przechowywać tajne dane uwierzytelniające, aby dostać się do serwera CRM? Czy może znajdować się na tym samym komputerze i używać domyślnych poświadczeń systemu Windows? W taki czy inny sposób, będziesz musiał określić prawa dostępu do serwera WWW w inny sposób niż dla użytkowników? –

Odpowiedz

5

Właśnie zaimplementowaliśmy coś podobnego dla mojego klienta. Mieliśmy około 5000 użytkowników, którzy musieli mieć możliwość przeglądania i edycji danych CRM, ale nie chcieliśmy płacić za pełne licencje użytkowników CRM, ponieważ dane potrzebne do aktualizacji/przeglądania były raczej niewielkie. Wszyscy użytkownicy byli już w Active Directory, więc zakupiliśmy licencje Employee Self Service Client Access License (ESS CAL) dla każdego z użytkowników. Ten rodzaj licencji użytkownika nie ma dostępu do interfejsu użytkownika CRM, więc nigdy nie może się zalogować do samego CRM.

Użyliśmy uwierzytelniania AD na stronie internetowej, z użytkownikiem puli aplikacji, który był kontem superużytkownika CRM. Po początkowym załadowaniu sesji użytkowników wyłapaliśmy nazwę użytkownika z kontekstu i przeszukaliśmy identyfikator SystemUserId użytkownika w CRM, a następnie użyliśmy podszywania się z serwerem proxy usługi, aby tylko uzyskiwać dostęp i aktualizować dane, do których użytkownik był uprawniony. To działało naprawdę dobrze.

+0

To brzmi jak dobra konfiguracja. Załóżmy, że nie używamy AD. Czy CRM ma również własną bazę danych, w której są zapisani użytkownicy? Jeśli tak, czy jest dostępna standardowa funkcjonalność (np. Dostawcy członkostwa crm), której możemy użyć do autoryzacji przeciwko tej db? –

+1

CRM nie przechowuje własnego uwierzytelnienia, ale obsługuje AD i roszczenia oparte. Wszyscy użytkownicy są zapisani w tabeli SystemUser z nazwą użytkownika, która wiąże ją z mechanizmem uwierzytelniania. Sprawdź ten link, aby uzyskać więcej informacji na temat CRM i uwierzytelniania: http://msdn.microsoft.com/en-us/library/gg328497.aspx – Daryl

1

Jednym ze sposobów byłoby stworzenie zestawu użytkowników systemu (potencjalnie jednego wystarczy) z prawami dostępu do informacji, które pewna grupa użytkowników witryny powinna mieć.

Następnie na serwerze obsługującym aplikację internetową można przypisać rolę każdemu z zalogowanych użytkowników (w ten sposób pewna instancja użytkownika systemu w CRM będzie odpowiadać roli dla zestawu użytkowników).

Procedura logowania się na stronie internetowej zależy od Ciebie. Połączenie między aplikacją a serwerami CRM jest, jak sądzę, najbezpieczniej ustawione, jeśli przechowujesz je na tej samej maszynie fizycznej, jeśli działa ona w konkretnej konfiguracji.

Powiązane problemy