Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 10 odgovora
  • 3.231 pregleda

Najnovija ↓

Pokretanje dela koda pod drugim account-om 26.05.2007. u 14:50 · pre 236 meseci #1
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?
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Pokretanje dela koda pod drugim account-om 27.05.2007. u 18:22 · pre 236 meseci #2
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
Potpis
burito ... burito
Re: Pokretanje dela koda pod drugim account-om 27.05.2007. u 19:58 · pre 236 meseci #4
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...
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Pokretanje dela koda pod drugim account-om 28.05.2007. u 16:15 · pre 236 meseci #5
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...
Potpis
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ć
Re: Pokretanje dela koda pod drugim account-om 28.05.2007. u 16:26 · pre 236 meseci #6
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 :)
Potpis
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ć
Re: Pokretanje dela koda pod drugim account-om 30.05.2007. u 03:20 · pre 236 meseci #8
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).
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Pokretanje dela koda pod drugim account-om 30.05.2007. u 09:42 · pre 236 meseci #9
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).
Re: Pokretanje dela koda pod drugim account-om 31.05.2007. u 17:01 · pre 236 meseci #10
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)
Potpis
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ć
Re: Pokretanje dela koda pod drugim account-om 31.05.2007. u 19:27 · pre 236 meseci #11
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.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme