Rozhodně bych se vyvaroval vkládáním takového kódu přímo do prezenční vrstvy. Pokud se pak rozhodnete přidat do oprávnění dalšího uživatele, budete kvůli tomu modifikovat prezentační vsrtvu na 100 místech. Raději bych připravil třídu, která poskytuje srozumitelné hodnoty, zda uživatel něco může/nemůže. Tu inicializujete před zobrazením formuláře a pouze se jí budete ptát na konkrétní oprávnění. Například:
btnShowAdminDetails.Visible = authService.CanOpenAdminDetails;
grpAdminControls.Visible = authService.ShowAdminControls;
Další velkou výhodou je, že toto oprávnění lze pak snadno ověřit i přímo v metodách, které mají danou akci provést (například zobrazení rozhraní pro administrátora není jen zneplatnění/schování odkazu, ale také stránky, na kterou odkaz povede).
|