Sdílet prostřednictvím


Ověřování v internetu

Třídy System.Net podporují různé mechanismy ověřování klientů, včetně standardních metod ověřování internetu, hodnot hash, vyjednávání, NTLM a ověřování kerberos, stejně jako vlastních metod, které můžete vytvořit.

Přihlašovací údaje pro ověřování se ukládají do NetworkCredentialCredentialCache tříd, které implementují ICredentials rozhraní. Pokud je jedna z těchto tříd dotazována na přihlašovací údaje, vrátí instanci NetworkCredential třídy. Proces ověřování je spravován AuthenticationManager třídou a skutečný proces ověřování provádí třída ověřovacího modulu, která implementuje IAuthenticationModule rozhraní. Před použitím modulu AuthenticationManager je nutné zaregistrovat vlastní ověřovací modul. Moduly pro základní metody ověřování, digest, negotiate, NTLM a Kerberos jsou ve výchozím nastavení zaregistrované.

NetworkCredential ukládá sadu přihlašovacích údajů přidružených k jednomu internetovému prostředku identifikovanému identifikátorem URI a vrací je v reakci na jakékoli volání GetCredential metody. Třída NetworkCredential je obvykle používána aplikacemi, které přistupují k omezenému počtu internetových prostředků nebo aplikací, které používají stejnou sadu přihlašovacích údajů ve všech případech.

Třída CredentialCache ukládá kolekci přihlašovacích údajů pro různé webové prostředky. Při zavolání GetCredentialmetody vrátí CredentialCache správnou sadu přihlašovacích údajů, jak je určeno identifikátorem URI webového prostředku a požadovaným schématem ověřování. Aplikace, které používají různé internetové prostředky s různými schématy ověřování, mohou využívat třídu CredentialCache , protože ukládá všechny přihlašovací údaje a poskytuje je podle požadavků.

Když internetový prostředek požaduje ověření, WebRequest.GetResponse metoda odešle WebRequestauthenticationManager spolu s požadavkem na přihlašovací údaje. Požadavek se pak ověří podle následujícího procesu:

  1. AuthenticationManager volá metodu Authenticate pro každý z registrovaných ověřovacích modulů v pořadí, v jakém byly zaregistrovány. AuthenticationManager používá první modul, který nevrací hodnotu null k provedení procesu ověřování. Podrobnosti o procesu se liší v závislosti na typu použitého ověřovacího modulu.

  2. Po dokončení procesu ověřování modul ověřování vrátí Authorizationdo požadavku WebRequest obsahující informace potřebné pro přístup k internetovému prostředku.

Některá schémata ověřování můžou ověřit uživatele, aniž by nejprve požádali o prostředek. Aplikace může ušetřit čas tím, že předvyvěří uživatele s prostředkem, čímž se eliminuje alespoň jedna doba odezvy na server. Nebo může provést ověřování během spouštění programu, aby později reagoval na uživatele. Schémata ověřování, která můžou použít předběžné ověření, nastaví PreAuthenticate vlastnost na true.

Viz také