Kezdőoldal » Számítástechnika » Programozás » Hogyan tudok C#-ban rendszerga...

Hogyan tudok C#-ban rendszergazdai jogot kérni hogy hozzáférjek ahoz a fájlokohoz amihez csak a rendszergazda férhet hozzá?

Figyelt kérdés

2015. febr. 1. 16:25
 1/10 anonim ***** válasza:
Rendszergazdaként futtatod, akkor hozzáfér.
2015. febr. 1. 16:28
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:

Egy manifest fájlt kell a projectedhez adnod és e szerint módosítanod:

[link]


Gyakorlatilag bele kell írnod (asInvoker helyett) hogy:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

2015. febr. 1. 16:35
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:
2015. febr. 1. 16:35
Hasznos számodra ez a válasz?
 4/10 A kérdező kommentje:

Köszi. Sikerült. És hogyan tudom ezt futás közben megvalósítani?

Csak a program bizonyos funkcióihoz van szükség rendszergazdai engedélyre ezért ha a felhasználó azokat nem használja akkor nem kell rendzsergazdai joggal már úgy indulnia.

2015. febr. 1. 18:12
 5/10 anonim ***** válasza:

Trükközés nélkül nem hiszem hogy lehetséges. Amikor elindítod a folyamatot, akkor kell eldönteni hogy milyen felhasználóként, milyen jogokkal induljon. Ezt futás közben már nem lehet módosítani. (hogy lehetne átemelni egy folyamatot az egyik felhasználói térből a másikba??)


Azt tudod csinálni, hogy lemented a program állapotát valamilyen módszerrel, újraindítod az alkalmazást admin jogokkal, majd visszatöltöd a program állapotát.


Nem tudom milyen okok vannak a háttérben amiért erre kényszerülnél, de ki is lehet akár kapcsolni az UAC-ot.

2015. febr. 1. 18:47
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:

Azt viszont be tudod állítani, hogy ha sima felhasználóként indítja ne férjen bizonyos dolgokhoz hozzá:

static void Main(string[] args)

{

try

{

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);

Adminvizsgalat();

}

catch (Exception)

{

Console.WriteLine("Nem vagy admin");

}

Console.ReadKey();

}


[PrincipalPermission(SecurityAction.Demand, Role = "Administrators")]

static void Adminvizsgalat()

{

Console.WriteLine("Admin vagy");

}

2015. febr. 1. 23:24
Hasznos számodra ez a válasz?
 7/10 A kérdező kommentje:
Azért lenne erre szükségem hogy be tudjak tölteni egy fájlt akkor is ha a felhasználó olyan fájlt ad meg aminek az olvasásához rendszergazdai jog szükséges.
2015. febr. 6. 18:34
 8/10 anonim ***** válasza:
Nemtom, érted-e, de ha egy program magától a jelszó beírása nélkül adminná tudna válni, akkor nem lenne értelme az admin felhasználónak a rendszeren, hisz akkor minden telepítő használná ezt az ultimate mostrendszergazdaleszek:=true függvényt.
2015. febr. 6. 18:53
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:
Ezt természetesen értem de a program kérhet rendszergazdai jogot a felhasználótól amit a felhasználó engedélyezhet vagy elutasíthat. Az én gondom pedig az hogy ezt a jogot ne egyből indulásnál kérje a program hanem futás közben.
2015. febr. 6. 18:57
 10/10 anonim ***** válasza:
Hát ezt szerintem csak úgy tudod megoldani (bár a szísárpot konkrétan nem ismerem, csak máshonnan vett megoldásokat láttam), hogy csinálsz egy külön exe-t csak erre az egy funkcióra, és akkor ezt meg tudod hívni úgy, hogy kérje az admin jelszót hozzá, lefut, aztán visszakerül a vezérlés az eredeti felhasználói joggal futó proggihoz.
2015. febr. 6. 18:59
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!