Razem z kolegami rozpoczynamy projekt i jak to na ogół bywa, na samym początku mamy zapał, więc chcemy wykorzystać architekturę trójwarstwową. Mamy jednak pytanie dotyczące uwierzytelniania. Idea ma być taka:
Jest baza danych użytkowników.
Jest serwis WCF, który ma metody wykorzystywane do operacji na bazie danych (Login(), Register(), GetPersonalSettings(), ...)
Jest strona w ASP.NET (MVC), gdzie użytkownik może się zalogować i 'bawić' się swoim profilem.
Jaki jest problem? Chodzi o logowanie - jak to ogólnie rozwiązać?:
Potrzebujemy uwierzytelniania i w ASP'ie - FormsAuthentication, ale też w WCF. Dlaczego? Bo serwis WCF udostępnie nie tylko metody Login(username, password), ale też GetDataOfUser(username), która powinna być możliwa do wykonania, tylko przez usera zalogowanego.
Pytanie czy to mają być jakieś osobne logowania? Czy logowanie w FormsAuthentication, generuje jakiś token, który pozwoli mi rozpoznać, czy user jest zalogowany też w WCF? Co jak user zaznaczy 'pamiętaj mnie', i logowanie FormsAuthentication w ASP go zapamięta, a w WCF już nie? Nie do końca rozumiem logowanie w WCF, oraz sposób jak połączyć logowanie w ASP.NET i w WCF.
Proszę o pomoc. Wiem, że pytanie trochę długie, ale już dłuższy czas się nad tym zastanawiam. Żaden z nas nie potrafi sobie z tym poradzić, a ciężko też znaleźć jakąś konkretną informację w Googlu.
Dziękuję,
Pozdrawiam