Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A 4.8-as verzióban minden NuGet-ügyfél (NuGet.exe, Visual Studio, dotnet.exe és MSBuild.exe) használhat egy hitelesítési beépülő modult, amely a NuGet platformfüggetlen beépülő moduljaira épül.
A dotnet.exe hitelesítése
A Visual Studio és a NuGet.exe alapértelmezés szerint interaktívak. NuGet.exe tartalmaz egy kapcsolót, amely nem interaktívvá teszi. Emellett a NuGet.exe és a Visual Studio beépülő moduljai kérik a felhasználót a bemenetre. A dotnet.exe esetében nincs kérés, és az alapértelmezett beállítás nem interaktív.
A dotnet.exe hitelesítési mechanizmusa az eszközfolyam. Ha a visszaállítási vagy csomagbeadási művelet interaktívan fut, a műveletblokkok és a felhasználónak a hitelesítés befejezésére vonatkozó utasítások a parancssorban lesznek megadva. Amikor a felhasználó befejezi a hitelesítést, a művelet folytatódik.
Ahhoz, hogy a művelet interaktív legyen, át kell adni --interactive.
Jelenleg csak az explicit dotnet restore és dotnet add package a parancsok támogatják az interaktív kapcsolót.
Nincs interaktív kapcsoló a dotnet build és dotnet publish elemen.
Hitelesítés az MSBuildben
A dotnet.exe-hez hasonlóan a MSBuild.exe alapértelmezés szerint nem interaktív, a MSBuild.exe hitelesítési mechanizmus az eszközfolyamat.
Ha engedélyezni szeretné, hogy a visszaállítás szüneteljen, és várja meg a hitelesítést, hívja meg a visszaállítást a következővel msbuild -t:restore -p:NuGetInteractive="true": .
Keresztplatformos hitelesítési beépülő modul létrehozása
Minta implementáció a Microsoft Hitelesítőadat-szolgáltató beépülő modulban található.
Nagyon fontos, hogy a beépülő modulok megfeleljenek a NuGet-ügyféleszközök által meghatározott biztonsági követelményeknek. A hitelesítés beépülő modul minimálisan szükséges verziója a 2.0.0. A NuGet elvégzi a kézfogást a beépülő modullal, és lekérdezi a támogatott műveleti jogcímeket. Az adott üzenetekkel kapcsolatos további részletekért tekintse meg a NuGet platformfüggetlen beépülő modulprotokoll-üzenetét .
A NuGet beállítja a naplószintet, és adott esetben proxyadatokat ad meg a beépülő modulnak. A NuGet-konzolra való naplózás csak akkor elfogadható, ha a NuGet beállította a naplószintet a beépülő modulra.
- .NET-keretrendszer beépülő modul hitelesítési viselkedése
A .NET-keretrendszerben a beépülő modulok párbeszédpanel formájában kérhetik a felhasználótól a bemenetet.
- .NET Core beépülő modul hitelesítési viselkedése
A .NET Core-ban nem jeleníthető meg párbeszédpanel. A beépülő moduloknak az eszközfolyamatot kell használniuk a hitelesítéshez. A beépülő modul képes naplóüzeneteket küldeni a NuGetnek a felhasználónak küldött utasítások segítségével. Vegye figyelembe, hogy a naplózás elérhetővé válik, miután a naplószintet beállították a beépülő modulban. A NuGet nem fogad interaktív bemenetet a parancssorból.
Amikor az ügyfél hitelesítési adatok lekérésére hívja meg a beépülő modult, a moduloknak meg kell felelniük az interaktivitási kapcsolónak és tiszteletben kell tartaniuk a párbeszédpanel kapcsolót.
Az alábbi táblázat összefoglalja, hogyan kell viselkednie a beépülő modulnak az összes kombinációhoz.
| NemInteraktívE | CanShowDialog | Beépülő modul viselkedése |
|---|---|---|
| true | true | Az IsNonInteractive kapcsoló elsőbbséget élvez a párbeszédpanel-kapcsolóval szemben. A beépülő modulnak nem szabad blokkolnia. |
| true | false | Az IsNonInteractive kapcsoló elsőbbséget élvez a párbeszédpanel-kapcsolóval szemben. A beépülő modulnak nem szabad blokkolnia. |
| false | true | A beépülő modul szükség esetén megjeleníthet egy párbeszédpanelt. Például interaktív bejelentkezés vagy fiókválasztás. |
| false | false | A beépülő modul nem jeleníthet meg párbeszédpanelt. A beépülő modulnak az eszközfolyamatot kell használnia a hitelesítéshez egy utasításüzenet naplózásával a naplózón keresztül. |
A NuGet 7.0 előtt a NuGet mindig hamis értékre állította CanShowDialog a dotnet CLI-n, és igazra az MSBuild visszaállításnál.
7.0-s verziótól kezdve a NuGet mindig igaz értékre lesz állítva CanShowDialog, de a beépülő moduloknak továbbra is észlelniük kell, ha a grafikus felületek nem állnak rendelkezésre.
Például ha Linuxon X továbbítás nélküli SSH-kapcsolaton vagy Távoli PowerShell-munkameneten fut.
A beépülő modul írása előtt tekintse meg az alábbi specifikációkat.