none
Carregar diferentes layouts para determinados usuários RRS feed

  • Pergunta

  • Olá, estou com o seguinte problema, tenho uma aplicação cuja algumas funcionalidades não devem estar disponíveis para alguns usuários, e com isso, queria que quando o usuário realizasse login, um determinado layout com suas funcionalidades fosse exibida a ele dependendo do nível de permissão do mesmo.

    EXEMPLO

    Nível do usuário: Gerente Layout: Gerente

    Nivel do usuário: Funcionário comum Layout: Funcionário

    OBS: Eu sei que pode dar problema se o usuário acessar pela URL o link da funcionalidade que ele não deveria ter acesso, com isso já tenho implementado o esquema de permissão da classe RoleProvider.

    quarta-feira, 17 de dezembro de 2014 13:29

Todas as Respostas

  • Nesse caso, transfira suas funcionalidades para o banco, criando relacionado do que pode ou não pode por categoria de usuário. Assim, quando acessar o layout, você faz a SQL das funcionalidades baseado na categoria do usuário.
    quarta-feira, 17 de dezembro de 2014 13:43
  • Olá,

    Geralmente eu utilizo o Page_Load, ou seja, durante o carregamento da página, leio no banco de dados qual a categoria do usuário e disponibilizo somente as "features" que lhe são permitidas.

    A disponibilização é feita através da habilitação pelo comando "botão.visible = True" ou "caixa de texto.visible = false", etc...

    E ainda na mesma Page_Load, caso o usuário não devesse estar na página, antes de tudo faça um Response.Redirect("pagina.anterior.aspx")

    Neste caso você faria isso para todas as páginas da solução que quisesse alguma segurança. Assim não haveria necessidade de implementação de esquema de permissão pela classe RoleProvider. A permissão estaria determinada no banco de dados sendo verificado durante o Page_load, mesmo após o login.

    Nunca tive problemas com isso. Espero que sirva.


    Ney Limonge http://www.regclin.com/

    sexta-feira, 19 de dezembro de 2014 21:51