none
[Arquitetura] Asp.Net MVC 3 - Segurança e boas práticas RRS feed

  • Discussão Geral

  • Pessoal, 

    Estou arquitetando um projeto de missão crítica para a empresa que trabalho.

    Estou usando Asp.Net MVC 3, e subdividi em 4 camadas.

    Gostaría de saber se há algum recurso e manual de boas práticas no MVC 3, principalmente com relação à segurança.

    Eu vi a muito tempo atrás o AzMan, na época do Windows 2000. O AzMan era role-based e autenticação contra o LDAP ADAM. Disso saiu o fork NetSqlAzMan, como o próprio nome diz, armazenamento em banco de dados.

    Outra dúvida que tenho é com relação ao menu. ainda se utiliza o sitemap.xml no MVC 3 pra poder montar a estrutura de menus? Como especifico a permissão de cada item de menu?

    Não conheço outros bons frameworks de segurança. Eu queria principalmente:

    • Especificar os perfis/tarefas que cada item de menu;
    • Evitar ao máximo configurações no código, focando o acesso principalmente via web.config ou arquivo de configuração, se possível (usando location, talvez)
    • Especificar papéis ao invés de grupos de usuários, afinal quero poder dar permissão para um grupo de usuários e também para um usuário específico.
    •  Utilizar a solução mais utilizada no mercado que supra as necessidades.
    • Quero que os grupos de usuários possam ser compartilhados entre outras aplicações, mas também quero que existam grupos para  minha aplicação apenas
    • Quero que seja possível armazenar no banco de dados.
    • Não quero ficar reescrevendo tudo de novo, fazendo tela de login nova pra poder adicionar outras aplicações. Elas poderiam compartilhar, uma vez logado na raiz do site, todas as aplicações embaixo já estariam logadas

    Obrigado,

    Marcos Lima

    quarta-feira, 4 de abril de 2012 16:40

Todas as Respostas

  • Basicamente é criar um atributo que vai controlar as autorizações das controllers e actions de acordo com o parâmetro que quiser, veja exemplo: http://luisfurtado.com.br/blog/?p=105

    Sobre mostrar os menus você vai exibir ou não o item de menu diretamente de acordo com as permissões, sem mágicas.

    O resto é regra de negócio sua e a modelagem do seu banco de dados. Sou do lado que quanto menos config em xml  melhor.

    • Editado rs.developer sexta-feira, 7 de setembro de 2012 17:29
    sexta-feira, 7 de setembro de 2012 17:20
  • Concordo em gênero e número!

    Júnior Pacheco

    segunda-feira, 10 de setembro de 2012 17:32