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

Pokretanje dela koda pod drugim account-om

[es] :: .NET :: Pokretanje dela koda pod drugim account-om

[ Pregleda: 2164 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Pokretanje dela koda pod drugim account-om26.05.2007. u 13:50 - pre 205 meseci
Da li je ikako moguce pokrenuti samo deo koda (npr. jednu funkciju) sa drugacijim credentials ako su poznati username/password?
I, ako nije, da li postoji mogucnost za ista manje od pokretanja celog procesa sa drugim u/p?
 
Odgovor na temu

ajaalba
Beograd

Član broj: 145579
Poruke: 22
*.eunet.yu.



Profil

icon Re: Pokretanje dela koda pod drugim account-om27.05.2007. u 17:22 - pre 205 meseci
Ako sam dobro razumeo treba ti poziv eksterne funkcije.

Ja sam to svojevremeno resio kreiranjem dll-a u C++ i njegovim pozivom iz jednog drugog programskog jezika koji nije tema ovog foruma. (Sve jedno proces je proces iz kog god jezika da je nastao i sve je to asembler) i siguran sam da je programski jezik koji u sebi nema kljucnu rec extern ili external za kantu za djubre. C# naravno ima tu rec.

Sto se tice kreiranja dll-a iz C# do sada sam samo radio sa kreiranjem klase koja se nece kompajlirati u exe vec u dll. Dakle mora se instancirati (ako nije static) i ne mora se pozivati kao extern (ne znam da li moze? Ako moze onda je resenje pred tobom, ali ako nije nastavi da citas). Da li postoji elegantna akcija kao u C++ ne znam i voleo bih da me neko generalno malo vise specijalizira za kreiranje izvrsnih verzija programa u visual studio-u. Ali da se vratimo trenutnom problemu.

Dakle kako napraviti c++ dll. Nema nista lakse:

http://www.htbasic.com/simpledll.html

Kako ga pozvati iz C#. Pogledao sam malo po webu i evo resenja:

http://csharp-pro.blogspot.com...external-dll-library-in-c.html
burito ... burito
 
Odgovor na temu

ajaalba
Beograd

Član broj: 145579
Poruke: 22
*.eunet.yu.



Profil

icon Re: Pokretanje dela koda pod drugim account-om27.05.2007. u 17:38 - pre 205 meseci
mada sudeci po tvojim postovima sa:

http://www.elitesecurity.org/t262388-ukljucivanje-dll

zakljucujem da ti nisam reako nista novo
burito ... burito
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Pokretanje dela koda pod drugim account-om27.05.2007. u 18:58 - pre 205 meseci
Iz C#-a se ne moze kreirati .dll sa C++ funkcijama (bar koliko sam ranije saznao, tj. saznao sam za VB.net pa pretpostavljam da vazi isto).
C++ mi nije narocito dobro resenje jer ga slabo znam (radim u vb.net-u), ali recimo da uspem da napisem kod koji radi sta treba, i dalje ne znam kako da to pozovem sa drugim credentials (ovaj drugi primer govori kako da se klasicno pozove, sto sam znao).
Inace, nije mi neophodno da bude u eksternom .dll-u, cak bi mi bilo mnogo bolje kada bih imao f-ju u istoj klasi koju bih pozvao na taj nacin. No, sve se meni cini da to nije moguce u okviru istog procesa...
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Pokretanje dela koda pod drugim account-om28.05.2007. u 15:15 - pre 205 meseci
Postupak je sledeci:


1. Pozoves WinLogon API da ulogujes korisnika i dobije logon token
2. Koristis API da impersonate taj token
3. Pozoves metod
4. Po povratku iskljucis impersonate
5. Izlogujes korisnika

Ako ti trebaju primeri, reci...

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: Pokretanje dela koda pod drugim account-om28.05.2007. u 15:26 - pre 205 meseci
Samo da ti pomognem u odlucivanju, security token se ne primenjuje na nivou procesa nego na nivou thread-a, nista te ne sprecava da imas proces sa 10 threadova sa 10 razlicitih tokena od razlicitih usera i da kroz njih asinhrono pozivas zeljeni metod. Posto je logon/logoff operacija skupa, mozda ti je ovaj pristup bolji ako radis vise poziva.

Sad sam i video da imas lep primer u MSDN library. Pogledaj pod "WindowsIdentity.Impersonate(IntPtr)" metodom, imas ceo postupak u kodu :)
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: Pokretanje dela koda pod drugim account-om28.05.2007. u 15:29 - pre 205 meseci
Tnx, pogledacu.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Pokretanje dela koda pod drugim account-om30.05.2007. u 02:20 - pre 205 meseci
Nasao sam primer - http://msdn2.microsoft.com/en-us/library/aa331756(VS.71).aspx
I radi dobro (to sto je u primeru dato), medjutim, nisam siguran da li je zaista pod drugim account-om jer ako pre impersonatedUser.Undo() upisem Shell("calc.exe") (isto je i preko process.start), pokrene se kalkulator, medjutim u task manager-u kaze da je pokrenut pod prvobitnim account-om (administrator umesto shadowed kao sto sam se prebacio u programu).
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Pokretanje dela koda pod drugim account-om30.05.2007. u 08:42 - pre 205 meseci
Ja sam koristio isti kôd i mislim da je radilo (trebalo je da iz svog programa pristupim nekom share-u na drugoj mašini pod određenim nalogom).
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Pokretanje dela koda pod drugim account-om31.05.2007. u 16:01 - pre 205 meseci
Citat:
Shadowed: pokrene se kalkulator, medjutim u task manager-u kaze da je pokrenut pod prvobitnim account-om (administrator umesto shadowed kao sto sam se prebacio u programu).


Radi ok. Task manager prikazuje security token usera koji je pokrenuo prvi thread. Cak iako imas samo jedan thread u aplikaciji i njega promenis da imersonate drugog usera, task manager ce pokazati da proces pripada prvom useru. To je generalno i ispravno jer task manager ne prikazuje security kontekst procesa nego njegovog vlasnika (owner)
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: Pokretanje dela koda pod drugim account-om31.05.2007. u 18:27 - pre 205 meseci
OK, mislio sam da ce biti user iz onog thread-a koji je pokrenuo nov proces.
U svakom slucaju, kada sam ugradio u aplikaciju radi ono sto mi je trebalo tako da je sve odlicno.

Hvala svima.
 
Odgovor na temu

[es] :: .NET :: Pokretanje dela koda pod drugim account-om

[ Pregleda: 2164 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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