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: 547 | Odgovora: 10 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8720
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Pokretanje dela koda pod drugim account-om26.05.2007. u 13:50

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?
26.05.2007. u 13:50 

ajaalba
Beograd

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



Profil

icon Re: Pokretanje dela koda pod drugim account-om27.05.2007. u 17:22
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
27.05.2007. u 17:22 

ajaalba
Beograd

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



Profil

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

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

zakljucujem da ti nisam reako nista novo
burito ... burito
27.05.2007. u 17:38 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8720
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Pokretanje dela koda pod drugim account-om27.05.2007. u 18:58
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...
27.05.2007. u 18:58 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1661
*.maxre.bm.



Profil

icon Re: Pokretanje dela koda pod drugim account-om28.05.2007. u 15:15
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...

▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
▪ Illegal aliens have always been a problem in the United States. Ask any Native American
28.05.2007. u 15:15 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1661
*.maxre.bm.



Profil

icon Re: Pokretanje dela koda pod drugim account-om28.05.2007. u 15:26
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 :)
▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
▪ Illegal aliens have always been a problem in the United States. Ask any Native American
28.05.2007. u 15:26 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8720
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Pokretanje dela koda pod drugim account-om28.05.2007. u 15:29
Tnx, pogledacu.
28.05.2007. u 15:29 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8720
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Pokretanje dela koda pod drugim account-om30.05.2007. u 02:20
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).
30.05.2007. u 02:20 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3028
194.228.230.*

Sajt: blog.radioni.ca


Profil

icon Re: Pokretanje dela koda pod drugim account-om30.05.2007. u 08:42
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).
30.05.2007. u 08:42 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1661
*.maxre.bm.



Profil

icon Re: Pokretanje dela koda pod drugim account-om31.05.2007. u 16:01
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)
▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
▪ Illegal aliens have always been a problem in the United States. Ask any Native American
31.05.2007. u 16:01 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8720
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Pokretanje dela koda pod drugim account-om31.05.2007. u 18:27
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.
31.05.2007. u 18:27 

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

[ Pregleda: 547 | Odgovora: 10 ]

Postavi temu Odgovori

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