Sdílet prostřednictvím


Mechanismy řízení přístupu

Přístup můžete řídit několika způsoby pomocí technologie Windows Communication Foundation (WCF). Toto téma stručně popisuje různé mechanismy a poskytuje návrhy, kdy je použít; je určen k tomu, abyste vybrali správný mechanismus, který se má použít. Technologie přístupu jsou uvedeny v pořadí složitosti. Nejjednodušší je , nejsložitější je PrincipalPermissionAttributemodel identity.

Kromě těchto mechanismů je zosobnění a delegování pomocí WCF vysvětleno v delegování a zosobnění.

PrincipalPermissionAttribute

Slouží PrincipalPermissionAttribute k omezení přístupu k metodě služby. Pokud se atribut použije na metodu, můžete ho použít k vyžádání identity nebo členství konkrétního volajícího ve skupině Windows nebo ASP.NET roli. Pokud je klient ověřený pomocí certifikátu X.509, má primární identitu, která se skládá z názvu subjektu a kryptografického otisku certifikátu.

PrincipalPermissionAttribute Použijte k řízení přístupu k prostředkům v počítači, na kterém je služba spuštěná, a pokud budou uživatelé služby vždy součástí stejné domény Systému Windows, na které je služba spuštěná. Můžete snadno vytvořit skupiny Systému Windows, které mají zadané úrovně přístupu (například žádné, jen pro čtení nebo čtení a zápis).

Další informace o použití atributu naleznete v tématu Postupy: Omezení přístupu pomocí třídy PrincipalPermissionAttribute. Další informace o identitě najdete v tématu Identita služby a ověřování.

poskytovatel členství ASP.NET

Funkce ASP.NET je poskytovatel členství. I když poskytovatel členství není technicky mechanismus řízení přístupu, umožňuje řídit přístup ke službě omezením sady možných identit, které mají přístup ke koncovému bodu služby. Funkce členství obsahuje databázi, která se dá naplnit kombinací uživatelského jména a hesla, které uživatelům webu umožňují vytvářet účty s webem. Pokud chcete získat přístup ke službě, která používá zprostředkovatele členství, musí se uživatel přihlásit pomocí svého uživatelského jména a hesla.

Poznámka:

Před použitím funkce ASP.NET ji musíte nejprve naplnit, aby ji služba WCF mohl použít k autorizačním účelům.

Funkci členství můžete použít také v případě, že již máte databázi členství z existujícího webu ASP.NET a chcete stejným uživatelům povolit používání vaší služby autorizované stejnými uživatelskými jmény a hesly.

Další informace o použití funkce členství ve službě WCF naleznete v tématu Postupy: Použití ASP.NET zprostředkovatele členství.

ASP.NET zprostředkovatele rolí

Další funkcí ASP.NET je schopnost spravovat autorizaci pomocí rolí. Poskytovatel role ASP.NET umožňuje vývojáři vytvářet role pro uživatele a přiřazovat každého uživatele k roli nebo rolím. Stejně jako u poskytovatele členství se role a přiřazení ukládají v databázi a dají se naplnit pomocí nástrojů poskytovaných konkrétní implementací poskytovatele ASP.NET rolí. Stejně jako u funkce členství můžou vývojáři WCF používat informace v databázi k autorizaci uživatelů služeb podle rolí. Můžou například použít zprostředkovatele role v kombinaci s mechanismem PrincipalPermissionAttribute řízení přístupu popsaným výše.

Poskytovatele rolí ASP.NET můžete použít také v případě, že máte existující databázi zprostředkovatele role ASP.NET a chcete použít stejnou sadu pravidel a přiřazení uživatelů ve službě WCF.

Další informace o použití funkce zprostředkovatele role naleznete v tématu Postupy: Použití ASP.NET zprostředkovatele role se službou.

Správce autorizace

Další funkce kombinuje Správce autorizace (AzMan) s poskytovatelem role ASP.NET k autorizaci klientů. Když ASP.NET hostuje webovou službu, dá se AzMan integrovat do aplikace, aby se autorizace ke službě prováděla prostřednictvím AzManu. ASP.NET správce rolí poskytuje rozhraní API, které umožňuje spravovat role aplikací, přidávat a odebírat uživatele z rolí a kontrolovat členství rolí, ale neumožňuje dotazovat se, jestli má uživatel oprávnění provádět pojmenovanou úlohu nebo operaci. AzMan umožňuje definovat jednotlivé operace a kombinovat je do úloh. Pomocí AZMan můžete kromě kontrol rolí také zkontrolovat, jestli uživatel může provádět úlohu. Přiřazení role a autorizace úkolů je možné nakonfigurovat mimo aplikaci nebo provádět programově v rámci aplikace. Modul snap-in Konzoly MICROSOFT Management Console (MMC) pro správu AzMan umožňuje správcům měnit úlohy, které může role provádět za běhu, a spravovat členství jednotlivých uživatelů v rolích.

Pokud už máte přístup k existující instalaci AzMan a chcete autorizovat uživatele služby pomocí funkcí kombinace zprostředkovatele rolí AzMan, můžete také použít AzMan a poskytovatele ASP.NET role.

Další informace o AzManu a poskytovateli ASP.NET rolí najdete v tématu Postupy: Použití Správce autorizace (AzMan) s ASP.NET 2.0. Další informace o použití nástroje AzMan a zprostředkovatele role pro služby WCF naleznete v tématu Postupy: Použití zprostředkovatele role správce autorizace ASP.NET se službou.

Model identit

Model identity je sada rozhraní API, která umožňují spravovat deklarace identity a zásady pro autorizaci klientů. Pomocí modelu identity můžete prozkoumat každou deklaraci identity obsaženou v přihlašovacích údajích, které volající použil k ověření ve službě, porovnat deklarace identity se sadou zásad pro službu a udělit nebo odepřít přístup na základě porovnání.

Model identit použijte, pokud potřebujete mít kontrolu a možnost nastavit konkrétní kritéria před udělením přístupu. Pokud například použijete PrincipalPermissionAttributekritérium , je jednoduše to, že identita uživatele je ověřena a patří do konkrétní role. Naproti tomu pomocí modelu identity můžete vytvořit zásadu, která uvádí, že uživatel musí být starší než 18 let a má platnou řidičskou licenci, než bude moci zobrazit dokument.

Jedním z příkladů, kde můžete využít řízení přístupu na základě deklarací identity modelu identit, je použití přihlašovacích údajů federace ve scénáři vystaveného tokenu. Další informace o federačních a vydaných tokenech najdete v tématu Federace a vystavené tokeny.

Další informace o modelu identit najdete v tématu Správa deklarací identity a autorizace pomocí modelu identity.

Viz také