Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

WCF - basicHttpBinding

10 views
Skip to first unread message

LadyRoot

unread,
Dec 4, 2009, 5:57:07 AM12/4/09
to
Witam,

prosi�abym o niewielk� pomoc - wyjasnienie w zakresie konfiguracji
po��czenia do aplikacji typu webservices (SOAP1.1) dla aplikacji typu
Windows Forms.

Problemem jest dla mnie konfiguracja autentykacji u�ytkownika na poziomie
ka�dego ��dania - ma to by� zwyk�a "Basic authentication", baz uzycia SSL
b�d� certyfikat�w i bez integracji z logowaniem Windows.

Ustawiam w aplikacji po��czenie:
kl = new MyWebservicesClient();
kl.ClientCredentials.UserName.UserName = "user";
kl.ClientCredentials.UserName.Password = "pass";
kl.Open();
I do tej pory wszystko jest poprawnie - ��cz� si� si� bez b�lu - a
przynajmniej otrzymuj� client state = "Open" i zwr�cony adres Endpoint-a.

Natomiast dla ka�dego ��dania wywo�ania metody webservices, np.
listBoxResult.Items.Add(kl.MojaMetoda(costam).ToString());

Skutkuje informacj� zwrotn�:
HTTP ERROR 401, czyli brak autentykacji - wysy�ane ��danie logowania w
trybie 'Anonymous'.

Ustawienia w app.config, o ile dobrze rozumiem, powinny by� nast�puj�ce:
<security mode="TransportCredentialsOnly">
<transport clientCredentialType="None"
proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName"
algorithmSuite="Default" />
</security>

Czy dobrze rozumuj� , �e:
- korzystanie z security mode="Message" dotyczy tylko autentykacji Windows?
- security mode="Transport" dotyczy tylko SSL? (taki b��d dostaj�:
oczekiwano https, jest: http)
- wydaje mi si�, � nie mog� skorzysta� z wsHttpBinding - tam znalaz�am tylko
mo�liwp�� pod��cze� do SOAP 1.2 i zwi�kszonego poziomu zabezpiecze�

W jaki spos�b skonfigurowa� b�d� wywo�a� ��danie bez dodatkowych
zabezpiecze�, ale do ka�dego "dokleja�" user/pass?

--
LadyRoot

-----------------------------------
The future is not what it used to be.


mk

unread,
Dec 4, 2009, 7:04:25 AM12/4/09
to
LadyRoot wrote:
> baz uzycia SSL
> b�d� certyfikat�w i bez integracji z logowaniem Windows.

Nie jestem expertem od WFC ale z tego co mi siďż˝ wydaje to nie da siďż˝
"w��czy�" autoryzacji user�w bez u�ycia SSL. Wydaje mi si�, �e
przesy�anie login�w i hase� otwartym tekstem nie ma sensu. To tak samo
jakby nie by�o �adnej autoryzacji.

Wi�cej informacji znajdziesz tu:
http://msdn.microsoft.com/en-us/library/ms733775.aspx

Je�eli dobrze zrozumia�em opis w dokumentacji to ustawienie

> kl = new MyWebservicesClient();
> kl.ClientCredentials.UserName.UserName = "user";
> kl.ClientCredentials.UserName.Password = "pass";

powoduje �e na pocz�tku user jest autoryzowany, dostaje jaki� token i
p�niej ten token jest wysy�any z ka�d� wiadomo�ci� wi�c serwer wie z
kim gada.

Ponadto na servwerze musisz zaimplementowa� klas� dziedzicz�c� po
UserNamePasswordValidator

tu masz wiecej do poczytania:
http://msdn.microsoft.com/en-us/library/system.identitymodel.selectors.usernamepasswordvalidator.aspx

�eby server u�ywa� tej klasy do autoryzacji user�w musisz dodatkowo
skonfigurowaďż˝ na servwerze:

<serviceBehaviors>
<behavior name="name...">
...
<serviceCredentials>
...
<userNameAuthentication
userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="TwojeNamespace.TwojaKlasaImplementujacaUserNamePasswordValidator,
TwojaApplikacja" />

</serviceCredentials>

</behavior>
</serviceBehaviors>

> W jaki spos�b skonfigurowa� b�d� wywo�a� ��danie bez dodatkowych
> zabezpiecze�, ale do ka�dego "dokleja�" user/pass?

Je�eli chcesz bez zabezpiecze� i chcesz z ka�d� wiadomo�ci� przesy�a�
user credentials to prawdopodobnie musisz sama coďż˝ zaimpementowaďż˝. Np
aby zmieni� co� w nag��wku SOAP mo�esz u�y� [MessageHeader].

Pozdrawiam

LadyRoot

unread,
Dec 4, 2009, 7:44:33 AM12/4/09
to
U�ci�laj�c jeszcze:
webservice nie jest w .NET (Java, SOAP 1.1) i nie mam do niego dost�pu "od
�rodka" - st�d brak mo�liwo�ci implementowania czego� na serwerze. No i nie
b�dzie "rozwijany" pod wzgl�dem zabezpiecze� - chodzi tylko o jaki� ma�y
connector do aplikacji celem zachowania kompatybilno�ci wstecz.
0 new messages