Új hozzászólás Aktív témák
-
joysefke
veterán
WindowsIdentity-vel kapcsolatban szeretnék segítséget kérni. Nem értek hozzá, eddig nem kellett ezzel foglalkoznom. Világítsatok rá, ha valami valahol technikailag nem megoldható.
1, van egy applikáció ami egy lokál service account "LOCALPC\MyService" nevében fut.
ennek az accountnak igény szerint tudok jogosultságokat adni.2, Elő kell állítanom egy WindowsIdentity objektumot ami egy domain usert személyesít meg: DOMAIN1\Pisti . Ezt a WindowsIdentity objektumot egy belső API használja. Úgy gondolom, hogy nem imperszonálásra, csupán a usert érintő AD security releváns információk megnézésére. Ebben nem vagyok biztos.
3, Az applikáció rendelkezik a domain admin user/pwd párosával "DOMAIN1\Administrator" + Pwd (igen, ez már eredetileg egy ilyen applikáció
) Pistiével és a többi userével viszont nem.Tehát szeretnék DOMAIN1\Pistike nevére előállítani az applikációban egy WindowsIdentity objektumot.
Nem tudom, hogy ez egyáltalán lehetséges-e.
4, Létezhet-e WindowsIdentity objektum a LOCALPC-n DOMAIN1\Pisti nevére anélkül, hogy a LOCALPC a DOMAIN1-ben lenne? Jelenlegi környezetemben a LOCALPC bent van a domainben, de az appot futtató account nincsen.
5, Hogyan tudom megvalósítani? Nem akar összejönni, bár ez nem csoda, mert nincs vele tapasztalatom?
Azt látom, hogy ha "DOMAIN1\Administrator" futtat kódot, akkor
new WindowsIdentity(string: DOMAIN1_Pisti_upn)
konstruktorral tudok érvényes és az app számára használható WindowsIdentity objektumot létrekozni. Pisti nevére Pisti pwd-je nélkülAz is működik, hogy LOCALPC\MyService futtatja a kódot és bejelentkezteti a DOMAIN1\Administrator-t username/pwd-vel
advapi32.dll.LogonUser(lpszUsername, lpszDomain, string lpszPassword, dwLogonType, dwLogonProvider, out phToken)-en keresztül. Itt végül visszakapok egy WindowsIdenity a DOMAIN1\Administrator nevére és úgy tűnik, hogy imperszonálásra is tudom használni, de anew WindowsIdentity(string: DOMAIN1_Pisti_upn)
hívás így is elbukik. Az alábbi hibaüzenettel:Error Message: Test method ApiSandbox.ImpersonationSandbox.Test2 threw exception: System.DllNotFoundException: Unable to load DLL 'secur32.dll': Either a required impersonation level was not provided, or the provided impersonation level is invalid. (Exception from HRESULT: 0x80070542) Stack Trace: at System.Security.Principal.WindowsIdentity.KerbS4ULogon(String upn, SafeAccessTokenHandle& safeTokenHandle) at System.Security.Principal.WindowsIdentity..ctor(String sUserPrincipalName, String type) at System.Security.Principal.WindowsIdentity..ctor(String sUserPrincipalName) at ApiSandbox.ImpersonationSandbox.Test2() in C:\...\ImpersonationSandbox.cs:line 48
Az eleje, az "Unable to load DLL 'secur32.dll'" biztosan nem stimmel. Ugyanazt a tesztkódot domain-adminként elindítva lefut.
Van ezzel a témával kapcsolatban valami jó anyag?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Synology NAS
- Arc Raiders
- Debreceni gyorsétkezdék, éttermek
- Képhibák a GeForce-on? Az NVIDIA szerint egy Windows frissítés okozza
- Milyen autót vegyek?
- AMD Navi Radeon™ RX 9xxx sorozat
- Fejhallgató erősítő és DAC topik
- BestBuy topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- World of Tanks - MMO
- További aktív témák...
- Cudy LT500D Dual Band 4G/LTE Wi-Fi router / 12 hó jótállás
- Redmi Note 13 Pro+ 5G 12/512 /// Számla + Garancia
- Samsung Galaxy A23 5G 128GB, Kártyafüggetlen, 1 Év Garanciàval
- Apple iPhone 11 / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku: 100%
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
) Pistiével és a többi userével viszont nem.
