O código responsável pela autorização está no projeto "ClassLibrary":

  • A classe "PaginaBase" deverá ser utilizada como classe base para as páginas da aplicação web.
  • O conteúdo XML com os dados de autorização está "hard coded" no método "ObterPermissoes" da classe "Autorizacao" e faz referência às páginas e controles do projeto "WebApp".

 

Os exemplos de utilização estão no projeto "WebApp":

  • As classes das páginas "default.aspx", "paginas/pagina1.aspx" e "paginas/pagina2.aspx" herdam a classe "PaginaBase" e portanto estão sob o controle de autorização.
  • As páginas "paginas/pagina1.aspx" e "paginas/pagina2.aspx" tem acesso negado de acordo com o XML definido no método "ObterPermissoes" da classe "Autorizacao".
    • A página "paginas/pagina1.aspx" utiliza o comportamento padrão de tratamento de acesso negado que é retornar uma exceção do tipo "AcessoNegadoException".
    • A página "paginas/pagina2.aspx" faz "override" do método "OnAcessoNegado" da classe "PaginaBase" para sobrescrever o comportamento padrão do tratamento de acesso não autorizado. Nesse caso, é realizado o redirecionamento para a página "acessoNegado.aspx".
  • A página "default.aspx" tem acesso concedido de acordo com o XML definido no método "ObterPermissoes" da classe "Autorizacao":
    • Os controles dessa página tem suas propriedades "Visible" e "Enabled" definidas a partir dos valores correspondentes no conteúdo XML.

Last edited Jul 13, 2011 at 2:17 PM by edu1409, version 4

Comments

No comments yet.