Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[WCF] Konekcija bez autorizacije/autentifikacije

[es] :: .NET :: [WCF] Konekcija bez autorizacije/autentifikacije

Strane: 1 2

[ Pregleda: 3848 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon [WCF] Konekcija bez autorizacije/autentifikacije23.11.2009. u 12:33 - pre 175 meseci
Dakle, treba mi da klijenti mogu bez ogranicenja da se konektuju na server. Bez obzira kako je ulogovan korisnik koji koristi klijenta. Kako god radio, radi mi jedino ako namestim da koristi Windows autentifikaciju.
Na osnovu ovog uputstva: http://msdn.microsoft.com/en-us/library/ms734784.aspx
Napravio sam sledece:


Server:

Code:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.serviceModel>
    <bindings>
        <netTcpBinding>
            <binding name="bnd">
                <security mode="None" />
            </binding>
        </netTcpBinding>
    </bindings>
        <services>
            <service behaviorConfiguration="" name="...">
                <endpoint address="net.tcp://localhost:4857" binding="netTcpBinding"
                    name="..." contract="..." bindingName="bnd" />
            </service>
        </services>
    </system.serviceModel>
</configuration>


Klijent

Code:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.serviceModel>
        <bindings>
            <netTcpBinding>
                <binding name="bnd">
                    <security mode="None" />
                </binding>
            </netTcpBinding>
        </bindings>
        <client>
        <endpoint address="net.tcp://server:4857" binding="netTcpBinding"
                bindingConfiguration="bnd" contract="..."
                name="bnd">
        </endpoint>
        </client>
    </system.serviceModel>
</configuration>



Medjutim, dobijam sledeci exception:
The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:01:00'.

E sad, malo je cudno da pominje socket a ne nista oko permisson-a, al' ako klijenta promenim da koristi Win auth. radi ok...
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije23.11.2009. u 12:48 - pre 175 meseci
Probaj sa ovim:

Code:

                    <security mode="Transport">
                        <transport protectionLevel="None" />
                    </security>


umesto security mode="None"
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije23.11.2009. u 13:02 - pre 175 meseci
Probao i to.
Stavio sam taj deo na klijentu i serveru i dobijam exception:
"The requested upgrade is not supported by 'net.tcp://server:4857/'. This could be due to mismatched bindings (for example security enabled on the client and not on the server)."
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije23.11.2009. u 13:06 - pre 175 meseci
Tj. ne, moja greska. Bio sam probao <transport clientCredentialType="None" /> i tu je bila ta greska. Sa tim sto si dao kaze:

"A remote side security requirement was not fulfilled during authentication. Try increasing the ProtectionLevel and/or ImpersonationLevel."
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije23.11.2009. u 13:20 - pre 175 meseci
Moras na obe strane taj security.

Meni ovo radi isprobano (doduse preko pipes, ali bi trebalo ista prica da ti vazi i za TCP). Malo je "tvrdje" od security="None" jer samo iskljucuje Windows authentication na TCP bindingu, ali bi moralo da ti radi. Evo ti moj config:


Code:
        <bindings>
            <netNamedPipeBinding>
                <binding name="XXLMessageBinding" maxReceivedMessageSize="134217728">
                    <readerQuotas maxArrayLength="134217728" />
                    <security mode="Transport">
                        <transport protectionLevel="None" />
                    </security>
                </binding>
            </netNamedPipeBinding>
        </bindings>
        <services>
            <service name="...">
                <endpoint address="net.pipe://localhost/myservice" binding="netNamedPipeBinding"
                    bindingConfiguration="XXLMessageBinding" name="..."
                    contract="..." />
            </service>
        </services>


Code:
        <bindings>
            <netNamedPipeBinding>
                <binding name="XXLMessageBinding" maxReceivedMessageSize="134217728">
                    <readerQuotas maxArrayLength="134217728" />
                    <security mode="Transport">
                        <transport protectionLevel="None" />
                    </security>
                </binding>
            </netNamedPipeBinding>
        </bindings>
        <client>
            <endpoint address="net.pipe://localhost/myservice" binding="netNamedPipeBinding" 
                 bindingConfiguration="XXLMessageBinding" contract="..." name="..." />
        </client>

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije23.11.2009. u 13:32 - pre 175 meseci
I jesam na obe strane probao obe varijante (i clientCredentialType i protectionLevel). Uvek iste u isto vreme :). Evo, trenutno su mi identicni config fajlovi kao ovi tvoji, samo je TCP umesto Named Pipes i nema ovih parametara maxReceivedMessageSize i readerQuotas i sl. Ali kontam da to nije ni neophodno.


E da, setih se sada da pomenem da komp na kojem je server nije u domenu a na kojem je klijent jeste. Ali, ako je iskljucena autentifikacija, to ne bi trebalo da ima veze...

Edit: isto se desava i kada pokrenem oba na istom kompu.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 08:57 - pre 175 meseci
Ok, sad sam probao, definitivno u svim varijantama sljaka security mode="none", okacio sam ti primer prostog wcf servisa koji radi prako toga (testirano i u lolcahost i unutar i van domena i sa van domena na domen).

Jedini potencijalni problem je sto je comm link nekriptovan pa sniferi mogu da vide sve sto radis (pogledaj npr prikaceni capture komunikacije sa nedomenske masine na domensku koji sam snimio, treba ti network monitor da bi video sadrzaj). security mode="transport" bi to trebalo da resi ali cak i kad se iskljuci cliencredentials nece da radi van domena, mislim da u pozadini odradjuje domensku authentikaciju masina i mislim da ima neki nedokumentvani switch da se ovo iskljuci, pogledacu.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
Prikačeni fajlovi
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 09:19 - pre 175 meseci
Glupo pitanje, si izbusio port 4857 na serverskom firewallu?
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 09:25 - pre 175 meseci
Pa, ako se konektuje kada podesim credentials, valjda znaci da firewall propusta. Nisam ga ni gledao, mada mislim da je skroz i iskljucen (masina je unutar privatne mreze i radi samo to). Pogledacu za svaki slucaj, tj. iskljuciti ga.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 09:39 - pre 175 meseci
Jel ti radi ovaj primer koji sam ti dao?
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 10:22 - pre 175 meseci
Radi.
/me totalno zbunjen :)
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 10:47 - pre 175 meseci
Probaj opet svoj proram sa sceurity mode="none" (tamo gde si dobijao timeout) ali pre paljenja klijenta proveri dal server stvarno slusa na portu (netstat)
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 12:09 - pre 175 meseci
Probao.
Sve isto, dobijam na klijentu exception:
"The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:00:59.9659966'."

InnerException je:
"An existing connection was forcibly closed by the remote host"


Port je otvoren. Proverio i sa netstat-om i sa TCPView. Dodao sam i ServiceBehavior koji nisam imao a vidim da imas u tvom projektu.
Jedino ne znam zasto na serveru imas ovaj drugi endpoint:
Code:
<endpoint address="net.tcp://localhost:12345/shadowyService/mex"
                    binding="mexTcpBinding" bindingConfiguration="" name="ShadowyServerMetadata"
                    contract="IMetadataExchange" />



Osecam da ce na kraju biti neka epic glupost u pitanju...
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 12:18 - pre 175 meseci
Taj servicebehavior i endpoint ti nisu neophodni (mogao sam ih i skloniti na kraju). To je metadata servis endpoint, sluzi za dinamicko otkrivanje servisa (npr u klijentu onda ne mroas da pises rucno ceo app.config vec mozes da dodas servis kroz "Add Service" dugme a VS ce pokupiti contracte kroz IMetadataExchange. behavior dodatno sluzi da service host eksponira taj interfejs automatski (da ne moras ti da pises rucno implementaciju kad su sve metadata informacije vec prisutne u running service hostu).
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 12:22 - pre 175 meseci
Ajd da krenemo drugim pritupom
posto ocigledno nisi koristio dinamicko otkrivanje to znaci da koristis isti interfejs i na serveru i na klijentu. Kako inicijalizujes klijenta i kako inicijalizujes WCF instancu?
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 12:45 - pre 175 meseci
Da, koristim isti interfejs na oba. On se nalazi u zasebnom .dll-u koji sam napravio u trecem projektu i referencirao i iz klijenta i iz servera. Vise mi se svidjalo nego ono sto sam nalazio u primerima da koristim onaj program koji mi pravi kopije pa kad menjam na jednom mestu moram uvek to da koristim...

Na serveru, imam klasu koja implementira taj interfejs. U sebi takodje sadrzi:
private ServiceHost Host = new ServiceHost(this);

Startujem sa Host.Open();

Na klijentu imam klasu:
public class ServerProxy : DuplexClientBase<Interfejs>, Interfejs

Implementacije svih metoda zapravo samo pozivaju base.Channel.MethodName kao na primer:
public void DoSomething()
{
base.Channel.DoSomething();
}


Zatim imam klijent klasu koja implementira Callback interface i u sebi sadrzi:
ServerProxy Server = new ServerProxy(new InstanceContext(this));
Server.InnerChannel.Open();
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 13:53 - pre 175 meseci
Hmm, ti koristis duplex kanal, zar nije za njega obavezan endpoint sa obe strane. Ne znam napamet, nisam do sad radio duplex servis ali ako server moze van poziva da uradi callback to bi trebalo da znaci da i client ima svoj endpoint na kojem slusa, zar ne?

Mozda pogresno posmatramo taj exception, mozda to ne znaci da server odbija konekciju vec da mozda kllijent odbija serversku callback konekciju i onda uzvrati exceptionom kroz primarni kanal....


I btw, sa mex servisom stvari su mnogo jednostavnije i ustedis tonu kucanja jer na kraju ti on odradi sam sve. A ako izmenis bilo koji od contracta update je one-click-away:


[Ovu poruku je menjao mmix dana 24.11.2009. u 15:09 GMT+1]

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
Prikačeni fajlovi
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 14:01 - pre 175 meseci
Ne mora.
Kada klijent pozove neku serversku funkciju u njoj mozes da dobijes CallBack objekat sa:
OperationContext.Current.GetCallbackChannel<IIntrefejs>();

Ono sto pozivas tom interface-u se poziva na klijentu, Naravno, klijent mora implementirati taj interface i prilikom konektovanja biti prosledjen:

Server = new ServerProxy(new InstanceContext(this));

To "this" je Client koji implementira IInterfejs.


Sve ovo radi kada ja stavim da se koristi Windows autentifikacija (ok, ima jedan problem na jednom kompjuteru al' o tome cemo drugi put).
Ali ako stavim da nema security - nece.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 14:26 - pre 175 meseci
Ma ja se samno prisecam slicnih problema iz doba remotinga.

Pazi ovako, mozda gresim, ali mozda i ne, da bi slao callback nazad ti uzimas taj CallbackChannel sto bi u pozadini trebao da bude novi TCP channel od servera ka klijentu, osnovni channel je u state-u poziva servera i callbacks ne mogu da idu preko njega (ima tu i grdjih problema od razdvajanja paketa preko tcp protokola, npr kako bi izveo mix&match callbacka i rezultata za wsHttp binding gde svaki response mora da ima soap envelope). E sad, ako mu ti sam ne navedes koji jecallback channel on vrlo verovatno otvara svoj sa default podesavanjima koja ukljucuju windows authentication (vidis problem, glavni kanal je noAuth, callback kanal je auth). Resenja ovog problema bi onda bilo u rucnom konfigurisanju callback kanala. Opet kazem mozda rgesim jer nisam radio duplex servise.

Ja iskreno nisam voleo ni evente u remotingu jer nisu reliable a callbacks u WCFu su nastavak te price... Jel ti to stvarno neophodno ili je ono, cool to have
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [WCF] Konekcija bez autorizacije/autentifikacije24.11.2009. u 14:30 - pre 175 meseci
Neophodno je. Server povremeno salje informacije klijentima bez njihovog striktnog zahteva.
Jos cu na kraju da shiznem i da batalim wcf skroz i radim samo sa TCP-om... A taman je poceo da mi se svidja :)
Videcu oko te mogucnosti sto si rekao da je callback auth.
 
Odgovor na temu

[es] :: .NET :: [WCF] Konekcija bez autorizacije/autentifikacije

Strane: 1 2

[ Pregleda: 3848 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.