autoryzacja użytkownika w aplikacji korzystającej z serwisów WCF

0

Nie za bardzo wiem czego użyć do autoryzacji użytkownika w aplikacji MVC tworzonej w oparciu o service oriented architecture. Chciałem użyć ASP.NET Identity ale nie wiem do końca czy to wypali bo przeglądając kod wydaje mi się że nie jest to za bardzo przyjazne dla WCF.

W internecie nie udało mi się znaleźć za wiele na ten temat, tylko jeden artykuł odnośnie WCF i ASP.NET Identity, który chyba muszę jeszcze przeczytać z 10 razy żeby go zrozumieć..
http://www.codeproject.com/Articles/627240/WCF-for-the-Real-World-Not-Hello-World

Może robiliście coś podobnego to byłbym wdzięczny za jakieś materiały z których korzystaliście ;)

2

Ja bym w ogóle nie mieszał jednego z drugim. Jak tworzysz wszystko od zera to w WCF zaprogramował bym całą korową funkcjonalność włącznie z autoryzacją użytkowników a aplikacje ASP.NET by tylko z tego korzystała.

0

Chyba tak właśnie zrobię

0

Z tego co widzę to ASP.NET Identity i WCF nie lubią się za bardzo :/ coś tam próbowałem kombinować ale same problemy generalnie i nie wiem czego tu użyć do autoryzacji użytkownika.
Generalnie korzystam z WCF bo chciałem się nauczyć tej technologii, czytałem dużo pozytywnych komentarzy o WCF, że aplikacje napisane w service oriented architecture są lepsze pod kątem właśnie architektury, rozważałem też porównanie WCF z Web API, REST vs SOAP itp. i w sumie wszystko to co czytałem skłaniało się do tego że nie można powiedzieć co jest lepsze czy Web API czy WCF i się z tym też zgadzam. Mając przed oczami tabele porównującą te dwie technologie zgadzam się z tym co przeczytałem.

Z drugiej strony zacząłem pisać aplikacje webową żeby nauczyć się WCF + oczywiście ją skończyć. O WCF dowiedziałem się bardzo dużo ale wiem że jeszcze tak naprawdę nie wiem nic, znam podstawy które pozwalają mi zrozumieć jak działają aplikacje korzystające z serwisów WCF.

Myślę sobie czy rzeczywiście WCF jest takie kolorowe jak je malują? O ile ktoś ma aplikacje webową a do tego aplikacje desktopową i obie te aplikacje korzystają ze wspólnych serwisów to jak najbardziej widzę że WCF zdaje tu dobrze role.
Ale teraz jeżeli ja piszę aplikacje webową do której będę chciał napisać aplikacje mobilną to wydaje mi się że nie ma to żadnego sensu. Po pierwsze dlatego że aplikacja mobilna będzie korzystać z REST API wystawionego przez aplikacje webową, a po drugie moim zdaniem WCF dokłada tylko dodatkowej roboty na każdym kroku dla developerów.

Nie wiem czy nie lepiej będzie jak porzucę WCF i przerobię aplikację na object oriented architecture.. Z drugiej strony chciałem się nauczyć korzystać z DI w WCF, pisać testy jednostkowe itp. Tylko czy dla mojej aplikacji to ma sens, raczej nie.
Druga sprawa jest taka że to nie w moim stylu zostawić coś bo jest ciężko, a to tak wygląda że napotkałem na kolejny problem który wymaga więcej czasu do poświęcenia (w sensie ta autoryzacja użytkownika) a ja już chcę przerabiać całą aplikację. Ale zdaję sobie sprawę że może być problem w pisaniu API dla aplikacji mobilnej chociaż czytałem że WCF jest w stanie wystawić RESTowe API ?

Chciałbym poznać Wasze zdanie na ten temat.
@somekind @AreQrm jeżeli będziecie mieli chwilę proszę o jakiś komentarz ;)

3

Nie jestem ekspertem od WCF, widziałem to kilka razy w użyciu, i akurat w żadnym przypadku nie miało ono sensu, więc nie znam też za bardzo dobrych wzorców. :)
Owszem, w WCF da się zrobić RESTa, zresztą tak powstało WebAPI. Tylko RESTa łatwiej zrobić w samym WebAPI właśnie, bo WCF to bardzo rozbudowana technologia, która daje Ci masę dodatkowych możliwości (np. protokołów komunikacyjnych między procesami) - ale jeśli celem jest sam REST, to nie ma sensu się w to pchać.
Jeśli zaś o uwierzytelnianie chodzi, to nie pomogę.

2

Ja zgadzam się z @somekind. Też nie mam doświadczenia z WCF, tyle co przeczytałem (nawet nie przerobiłem) tutek do niego. Z Web Api 1 za to korzystałem - i bardzo fajna sprawa. Nie łączyłem go z MVC, więc nie powiem Ci jak "działa" razem, ale w teorii nie powinno być dużego problemu. Jak rozumiem w MVC to byłby tylko... klient, którego równie dobrze mógłbyś napisać w Angularze czy czymkolwiek innym.

Jeśli zależy Ci na tym, żeby wystawić sobie RESTowy serwis, to nie kombinowałbym z WCF tylko z Web Api 2 albo pisał w nowym MVC 6 gdzie połączyli MVC i Web Api (w pewnym sensie).

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