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

TIdHTTPServer i windows auth

[es] :: Pascal / Delphi / Kylix :: TIdHTTPServer i windows auth

Strane: 1 2

[ Pregleda: 3010 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_deran_

Član broj: 69493
Poruke: 252
91.232.237.*



+1 Profil

icon TIdHTTPServer i windows auth29.07.2020. u 07:10 - pre 44 meseci
Kako da napravim autentifikaciju za HTTP server (indy) koristeći korisnikovu prijavu u Windows? Dovoljno mi je username da dobijem.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: TIdHTTPServer i windows auth29.07.2020. u 09:22 - pre 44 meseci
Da se klijent autentifikuje na tvoj indy server preko windows username/pass? Najlakse je verovatno da pozoves LogonUser.
Ako hoces sigurnije resenje onda treba da pogledas SSPI i Kerberos, ali mislim da nema Delphi implementacije, eventualno ona u mORMotu.
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
91.232.237.*



+1 Profil

icon Re: TIdHTTPServer i windows auth29.07.2020. u 11:47 - pre 44 meseci
Kako mislis "pozoves LogonUser"?
U mrezi imamo 2 servera sa ASP.NET aplikacijama u koje ne moram da se logujem, sam nekako prepozna koji mi je windows user. Kad im pristupam spolja, trazi mi user/pass. To bih i ja hteo na mom http serveru.
Dovoljno mi je samo windows username da dobijem pa cu na osnovu toga da radim dalje sta sam mislio. Gledao sam header requestova koje pravi jedna od tih asp aplikacija, ne vidim nista specificno sto bi pomoglo serveru da zna ko sam (ako browser slucajno zna i moze da salje nesto vise od reginal settingsa, rezolucije i tih sitnica, onda smo svi u problemu )
Jedino sto mi pada na pamet je da domain zna koji user je na kojem ip-u prijavljen pa na osnovu peer ip odredi koji sam user...
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: TIdHTTPServer i windows auth29.07.2020. u 13:36 - pre 44 meseci
Trenutno nemam vremena da pisem... nada se da ce pomoci ovo dole na linkovima a tu je i google za ostalo:


developer.mozilla.org/en-US/docs/Web/HTTP/Authentication



c-sharpcorner.com/UploadFile/84c85b/understanding-windows-authentication-in-detail/


baeldung.com/httpclient-4-basic-authentication
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
91.232.237.*



+1 Profil

icon Re: TIdHTTPServer i windows auth29.07.2020. u 13:59 - pre 44 meseci
Jasno je meni koji su sve načini autentifikacije, sada me interesuje samo ovaj sa windows domain nalogom. Na drugom linku što si poslao piše nešto o tome ali takođe piše i da je ograničeno samo na IIS i windows platforme. Ako je to čist TCP, kako može biti ograničeno na windows??? Šta je to što browser kroz TCP pošalje serveru da on zna ko je klijent (osim ip adrese)? Ako server samo na osnovu IP-a sazna koji windows user je logovan na tom računaru, kako ja to sa delphi-em da saznam? Pošto to u mreži radi za asp.net, siguran sam da u mreži postoji sve što treba (active directory itd). Nisam stručnjak za asp i trenutno nemam pristup serveru (mogao bih da dobijem ali moram znati šta mi treba).
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: TIdHTTPServer i windows auth29.07.2020. u 14:28 - pre 44 meseci
Pitanje je kako ti klijenti pristupaju serveru, da li preko tvoje klijent aplikacije ili preko običnog browsera. Ako je preko tvoje korisničke app, onda je lako, ako je u pitanju brower onda bolje postavi pitanje na nekom php forumu.
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
87.116.176.*



+1 Profil

icon Re: TIdHTTPServer i windows auth29.07.2020. u 20:57 - pre 44 meseci
Preko obicnog browsera pristupaju. Pitanje je za delphi jer je http server u delphiu i on prima request. Ako treba da se kacim na ldap ili slicno, i to bi trebao u delphiu. U ovom slucaju nije mi opcija da radim php ili asp jer je dosta logike vec u delphiu. Mozda samo auth da mi radi asp ali ne bih da pravim "Frankestajna" ako ne moram...
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: TIdHTTPServer i windows auth29.07.2020. u 21:01 - pre 44 meseci
Mislim da pitaš php programere koji podatak šalje brower, pa onda da tražiš rešenje za Delphi. teško da neko zna od Delphi programera direktno. Ovako bi imao neki trag.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: TIdHTTPServer i windows auth29.07.2020. u 21:52 - pre 44 meseci
Ja i dalje ne kapiram da li ti pravis klijent ili server?
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: TIdHTTPServer i windows auth29.07.2020. u 22:13 - pre 44 meseci
Evo jednog dela JS iz HTML-a
...
var wshell = new ActiveXObject("WScript.Shell");
var username = wshell.ExpandEnvironmentStrings("%USERNAME%");
...

Ovaj skript daje Windows username SAMO AKO SE STRANICA OTVORI IZ IE!!!

Ni jedan drugi browser ne dozvoljava da JS izađe iz sendbox-a i da čita varijable okruženja na klijentskoj mašini.

Dakle, ako se http servisu pristupa iz IE, može da se pročita windows logon, drugačije ne može!
Skript radi bez obzira na to šta se koristi na serverskoj strani (IIS, Apache, nginx...) ali je bitno da klijent bude IE na windowsu.
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
91.232.237.*



+1 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 07:03 - pre 44 meseci
@savkic
Radim server, pise TIdHTTPServer :)

@djoka
Siguran sam da je na server strani komplet resenje a ne na klijentu (js). Radi iz svih browsera, ne samo iz IE. Bokinet je dao link gde se vidi kako to radi u asp.net, ali meni treba na indy http serveru.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 07:59 - pre 44 meseci
Proveri ti i na Microsoft sajtu.
To rešenje iz gornjeg linka radi samo kada je http server IIS, a klijent IE.

Rešenje koje sam ja postavio je sa okruženja koje ja održavam i gde je Apache sa serverske strane. Dotično rešenje radi sa IE na klijentskoj strani i SAMO sa IE.
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 08:06 - pre 44 meseci
Prvo sto treba da proveris je to sto pise dojka da li radi to resenje sa drugim browserima.

Ja sam nesto malo koristio indy server.

Kad mi je trebalo da proverim kako radi server (indy ili inace) sa browserima onda sam koristion tcp klijet koji se konektuje kao brwser.
Taj klijent mi je onda pravio log sa svom komunikacijom i znao sam sta se salje a sta se prima.

Inace za tcp klijenta treba vremena a ako imas onda se konektuje na port 80 i salje i prima podatke isto kaosvaka druga tcp konekcija.
Jedina razlika je sto mora da posalje http podatek sa http zaglavljem.

 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
91.232.237.*



+1 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 08:50 - pre 44 meseci
Resenje sa asp.net radi sa svim browserima, ne samo sa IE. Siguran sam da je resenje na strani servera a ne neka javascripta ili nesto sa klijenta. Gledao sam sa "Developer Tools" od chrome-a sta salje u headeru requesta ali nisam nasao nista neobicno sto bi moglo da identifikuje klijenta. Mogao bih i Wireshark da pustim i gledam ceo saobracaj ali mi se cini da je to pogresan put...
Gledam trenutno kako sa Delphi sa da nakacim na Active Directory, ima cak i preko ADO-a ali mi nesto zeza trenutno... Mozda bih mogao da vidim koji user je na kojem IP-u trenutno, pa iz requesta izvucem IP i vidim koji je user.
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 10:04 - pre 44 meseci
Što ne napraviš da ti se korisnik registruje na serveru. Nisam baš siguran da ova auto detekcija radi, sem preko ip adrese.
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 10:11 - pre 44 meseci
Kolikom se secam, Indy server salje fajlove iz web dira.
Jednostavno bi stavio taj asp.net fajl u web folder.
Na istom racunaru se moze konektovati na server sa:

localhost:80/asp.net
ili:
127.0.0.1/asp.net

Ili tako nesto, odnosno da posalje tako kako se vidi u toj komunikaciji.

Onda mozeda se vidista se dogadja u browseru.
Moze da se uporedi sa tom komunikacijom gde radi i vidi da li je nesto drugacije.
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
91.232.237.*



+1 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 11:32 - pre 44 meseci
@milan
Trenutno mi se useri loguju sa username/passw, dobiju token koji ide uz svaki request. Posto vidim da moze i automatski preko windowsa, hteo sam da probam posto vidim da radi a ne znam kako :) aplikacija se vidi samo u lokalnoj mrezi, nije na internetu, pa bih mogao da se oslonim iskljucivo na windows auth kad bih znao kako.

@tkaranovic
Druze ili ja tebe potpuno ne razumem ili si potpuno omasio :) mozes malo objasniti?
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 13:15 - pre 44 meseci
Rekao si da imas komunikaciju. Prepostavljam sa serverom koji radi to sto ti treba.

Tu kominiksciju mozes da snimis u fajlove.
recimo:
NBroswer je poslao: httpr1.txt
Server je odgovrio: httpo1.txt
Stavis jednostvnu TCP komponentu na formu sa activnim portom 80.
Startujes web serve tester na svom racunaru.
Startujes NBroswer na svom racunaru.
Ukucas u NBroswer:
localhot:80
NBroswer e poveze sa tvojim testerom.
NBroswer je posalje tvom web testeru: httpr1.txt
Tvoj web tester poslaje httpo1.txt

Onda vidis da li NBroswer reaguje na isti nacin kao se povezivao sa serverom sa kojim si snimio uspesnu komunikaciju.

Ako je bilo vise slanja httpr2.txt, httpr2.txt... onda se samo poslje sledeci snimljeni fajl.

U sustini NBroswer nema pojma da li je povezan sa googlom (na primer) ili sa tvojim testerom.

Ja sam tako bio napravio "proxy" web server tester sa kojim se povezivao browser a "proxy" tester se povezivao sa pravim serverom i prosledjivao zahteve i odgovore i sve snimao fajlove.
Onda sam pregledao sta i kada salje i prima i to posle koristio.

Sad kad pogledam celu poruku vidim da je komplikovano to sto sam radio i sto sam sad nakucao :)
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
91.232.237.*



+1 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 14:43 - pre 44 meseci
Imam komunikaciju sa nekom web aplikacijom u asp.net koja radi to sto želim i bilo kojim browserom.

Nešto kao proxy pass? Morao bih sve linkove i ajax pozive da preusmeravam na svoj "proxy", tj. da menjam html koji šaljem klijentu (browseru) jer ću ja od pravog servera dobiti https://intranet/bla?bla=bla a klijentu treba da saljem http://localhost/bla?bla=bla da bi sve islo preko tog "proxy"-a.

Bojim se da bih opet došao do zaključka da je sve "server-side" rešeno, da džaba analiziram request/response.
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: TIdHTTPServer i windows auth30.07.2020. u 15:19 - pre 44 meseci
Da sa web aplikacijom je sve komplikovanije...

Ako nije problem/(poslovna)tajna tvoja aplikacija radi kao ko indy server a na istoj masini je povezana sa tom web aplikacijom?
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: TIdHTTPServer i windows auth

Strane: 1 2

[ Pregleda: 3010 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

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