WCF Security

0

Nie potrafię zrozumieć możliwości zabezpieczeń w WCF'ie.
Przesyłając dane między klientem a serwisem WCF chcę korzystać z SSL, oraz chcę mieć pewność, że tylko moje programy będą miały dostęp do tego serwisu.
Co muszę zrobić aby to osiągnąć? W wsHttpBinding Transport mode odpowiada za SSL, a Message mode za to że tylko wybrani klienci będą mieli dostęp? W transport też mogę ustawić clientCredentialType - w takim razie co spowoduje to ustawienie? Jak działa Message mode? Program musi znać hasło i login?

1

Wykorzystanie Message Mode uniemożliwi Ci zabezpieczenia komunikacji SSL-em. Jeśli nie chcesz rozróżniać użytkowników twoich programów i jednocześnie zabezpieczyć się SSL-em skorzystaj z Transport mode z wykorzystaniem certyfikatów jako sposobu uwierzytelniania klienta. Jeśli zależy ci na rozróżnianiu użytkowników poprzez login/hasło skorzystaj z TransportWithMessageCredential mode - komunikacja będzie zabezpieczona i jednocześnie będziesz mógł autentykować użytkowników.

0

wielkie dzięki. teraz w miarę ogarniam o co chodzi. czyli w sumie można by to podsumować tak(?):
-Transport: SSL + ew. zapewnienie że tylko moje programy używają serwisu(rozróżnianie klienckich programów przez certyfikat)
-Message: Rozróżnianie użytkowników programu, a nie klienckich programów ?
-TransportWithMessageCredential: SSL + rozróżnianie klienckich programów + rozróżnianie użytkowników (?)

Jeżeli możesz to potwierdź, że dobrze to zrozumiałem.
I jeszcze mam pytanie, rozróżnianie użytkowników w message, to znaczy, że mogę mieć do tego własny kod(łączyący się z bazą danych i sprawdzający czy dany użytkownik ma prawo korzystać z tego czy owego, tak)?

Wielkie dzięki!!!

1

Nie, trochę źle to zrozumiałeś. Tutaj jest to dobrze opisane:
http://msdn.microsoft.com/en-us/library/ff648863.aspx

Co do autoryzacji użytkowników - możesz to implementować dziedzicząc po klasie UserNamePasswordValidator.

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