Zabezpečení na základě rolí

Role se často používají ve finančních nebo obchodních aplikacích k vynucení zásad. Aplikace může například stanovit omezení velikosti zpracovávané transakce v závislosti na tom, jestli je uživatel, který požadavek vytváří, členem zadané role. Pracovníci můžou mít autorizaci ke zpracování transakcí, které jsou menší než zadaná prahová hodnota, vedoucí můžou mít vyšší limit a viceprezidenti můžou mít stále vyšší limit (nebo vůbec žádný limit). Zabezpečení na základě rolí se dá použít také v případech, kdy aplikace k dokončení akce vyžaduje více schválení. Takový případ může být nákupní systém, ve kterém může každý zaměstnanec vygenerovat žádost o nákup, ale tuto žádost může převést jenom nákupní agent na nákupní objednávku, která může být odeslána dodavateli.

Zabezpečení na základě role .NET podporuje autorizaci tím, že zpřístupňuje aktuální vlákno informace o objektu zabezpečení vytvořeném z přidružené identity. Identita (a objekt zabezpečení, který pomáhá definovat), může být založená na účtu Windows nebo vlastní identita nesouvisející s účtem Windows. Aplikace .NET můžou provádět rozhodnutí o autorizaci na základě identity nebo členství v roli objektu. Role je pojmenovaná sada objektů zabezpečení, které mají stejná oprávnění k zabezpečení (například řekněte nebo nadřízený). Objekt zabezpečení může být členem jedné nebo více rolí. Aplikace proto můžou pomocí členství v rolích určit, jestli je objekt zabezpečení autorizovaný k provedení požadované akce.

Kvůli usnadnění použití a konzistence se zabezpečením přístupu kódu poskytuje System.Security.Permissions.PrincipalPermission zabezpečení na základě role .NET objekty, které umožňují modulu CLR (Common Language Runtime) provádět autorizaci způsobem, který se podobá kontrolám zabezpečení přístupu kódu. Třída PrincipalPermission představuje identitu nebo roli, kterou musí objekt zabezpečení shodovat a je kompatibilní s deklarativními i imperativními kontrolami zabezpečení. K informacím o identitě objektu zabezpečení můžete přistupovat také přímo a v případě potřeby provádět kontroly rolí a identit v kódu.

.NET poskytuje podporu zabezpečení na základě rolí, která je dostatečně flexibilní a rozšiřitelná tak, aby splňovala potřeby širokého spektra aplikací. Můžete se rozhodnout spolupracovat s existujícími infrastrukturami ověřování, jako jsou služby COM+ 1.0, nebo vytvořit vlastní ověřovací systém. Zabezpečení na základě rolí je zvláště vhodné pro použití ve webových aplikacích ASP.NET, které se zpracovávají především na serveru. Zabezpečení na základě role .NET se ale dá použít na klientovi nebo na serveru.

Než si přečtete tuto část, ujistěte se, že rozumíte materiálům, které jsou uvedeny v klíčových konceptech zabezpečení.

Viz také