projekcja innej strony - HttpWebRequest i HttpWebResponse

0

Witam.

Potrzebuję zrobić coś na zasadzie projekcji innej strony.
Buduję serwis w ASP.Net MVC 4, który będzie się logował do konta w MS Dynamics CRM Online na konto określonego użytkownika.
Użytkownik po uprzednim zalogowaniu na moją stronę powinien zobaczyć widok z MC Dynamics CRM Online i móc wykonywac różne akcje w ramach konta użytkownika Dynamics CRM.

Różnica pomiędzy logowaniem przez moją stronę a bezpośrednio do konta w MS Dynamics CRM Online ma być taka, że:

  1. na moją stronę będą mogli logować się różni użytkownicy którzy będą wspólnie wykorzystywać jedno konto w Dynamics CRM
  2. każdy użytkownik powinien zobaczyć ten sam widok - konkretnie "listę spraw" ale tylko z tymi które go dotyczą (poprzez uprzednio przygotowane gotowe zestawy w Dynamics CRM - zestaw wybiera się z listy rozwijanej)
  3. użytkownik nie ma prawa widzieć wszystkich innych możliwych opcji dostępnych poprzez normalne zalogownie do Dynamics CRM - mam tu na myśli menu, pryciski itp. umożliwiające przejście do innych funkcjonalności Dynamics CRM (nie wszystko da się wyciąć w uprawnieniach konta użytkownika Dynamics CRM)

Co wiem a czego nie:

  1. Z tego co już wyszukałem, potrzebuję użyć HttpWebRequest i HttpWebResponse.
  2. Z logowaniem do MS Dynamics CRM Online sobie poradzę.
  3. Pobranie zawartości strony już po zalogwaniu mniej więcej wiem. Wiem, że z pomocą regex'ów muszę obrobić tą zawartość ale to też nie stanowi problemu. Nie mam za to zupełnie pojęcia jak wyświetlić użytkownikowi to co mi zostanie po obrobieniu aby zachować oryginalną funkcjonalność Dynamics CRM. Za pomocą regex'ów będę chciał powycinać div'y w których są umieszczone menu, przyciski, odnośniki itp. do których użytkownik ma nie mieć dostępu - ale nie jestem pewien czy to dobry sposób/podejście.

Potrzebuję jakieś wskazówki - o czym poczytać, czego użyć, na co jeszcze zwrócić uwagę, czego się nie da albo trzeba/można zrobić inaczej.

Pozdrawiam

0

To co chcesz zrobić będzie dość trudne w implementacji, niewygodne w użytkowaniu, być może niebezpieczne, a na pewno nieodporne na zmiany w samym CRMie, no i będzie co najmniej dziwnie wyglądało.

Dlaczego nie użyjesz SDK?
http://www.codeproject.com/Articles/559599/Integrating-your-applications-with-MS-CRM-Online

0

Użycie SDK to drugie podejście którego mogę użyć - robiłem już wstępne testy i wydaje mi się że nawet łatwiejsze dla mnie ale wymagające utworzenia własnych widoków prezentujących dane (pobrane z Dynamics CRM) dla użytkownika a na razie priorytetem było zachowanie oryginalnych widoków i funkcjonalności Dynamics CRM.
Ale jeśli Twoje sugestie są faktycznie realne to rozsądnym będzie użyć SDK.

0

Popieram przedmówcę. Zmiany w SDK zazwyczaj zachowują zgodność wsteczną (a jej złamanie jest dwuetapowe najpierw usuwaną metodę oznacza się jako przestarzałą a dopiero w kolejnej wersji usuwa - tak aby korzystający z niej programiści mieli czas na zmianę) w dodatku takie zmiany są opisywane w dokumentacji. W przypadku uderzania bezpośrednio do strony o zmianach możesz się dowiedzieć gdy już będzie za późno (czyli po podniesieniu wersji).
Druga sprawa ściągniesz html a co z css'ami, javascriptem czy szablonami o statycznych plikach nie mówiąc? To wszystko jest potrzebne do odwzorowania wyglądu listy.
Jeżeli już uprzesz się na bezpośrednie korzystanie z klienta HTML to osobiście kombinowałbym z ramką pływającą (tak żeby użytkownik rzeczywiście korzystał z Dynamicsa tylko wcześniej na siłę uwierzytelnionego).

1 użytkowników online, w tym zalogowanych: 0, gości: 1