Ir para o conteúdo

 Voltar a Banco de Tal...
Tela cheia

Módulo de Gerenciamento de Grupos e Privilegios

20 de Maio de 2010, 12:30 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 0 vezes

Estou fazendo uma nova tela para gerenciamento dos adms no BT. A ideia é que apenas quem já é adm irá ver a opção no menu de Manutenção. Acontece que para essa nova opção de menu aparecer, a URL tem que estar cadastrada nas tabelas de controle de acesso. Comecei a olhar a FuncionalidadesSistemas e vi que não é tão simples inserir na mão, diretamente ali. A tabela inclusive tem  um auto relacionamento.

Gostaria de saber se já existe algum módulo pronto que ajude nos cadastros de novas URLs na aplicação ou mesmo um que faça esse gerenciamento dos gestores e que poderia ser disponibilizado na comunidade.

 

Att. Christian Braz

Autor: Christian Cleber Masdeval Braz


22 comentários

  • F24dd96a3b3343b99b684fc44d2e5b71?only path=false&size=50&d=404Luciano Dias(usuário não autenticado)
    20 de Maio de 2010, 13:49

     

    Oi Christian,

    Nós utilizamos um sistema para a atualização das tabelas de controle de acesso. Entretanto, acredito que será mais rápido você inserir manualmente do que esperar a disponibilização dessa aplicação (a versão que utilizamos tem um número maior de tabelas e funcionalidades orientadas à nossa realidade).

    Basicamente, você precisa alimentar as seguintes tabelas:

    - FuncionalidadeSistema (onde estão registradas todas as ações - struts - do sistema e seus agrupadores);

    - PerfilSistema (se a ideia é criar um novo perfil, caso contrário não é necessário);

    - PerfilFuncionalidadeSistema (que é onde você associa a(s) funcionalidade(s) criada(s) a um perfil);

    - UsuarioPerfilSistema (tabela onde é mantida a associação entre os usuários e os perfis do sistema).

    Além de alimentar as tabelas acima, você precisa inserir o item de menu no arquivo WEB-INF\config\BancoTalentosApoio\menu-config\BancoTalentosApoio-menu.xml.

    Vamos analisar um item existente nesse arquivo de menu:

    <Item name="itmTipoFiltroConsultaPrepararVisualizacao" title="Filtro Consulta" toolTip="Cadastramento dos filtros de consulta"
          page="/BancoTalentosApoio/tipoFiltroConsultaPrepararVisualizacao.do">
    </Item>

    Veja que o a parte em negrito é o nome de uma ação no arquivo de configuração do Struts WEB-INF\config\BancoTalentosApoio\struts-config\BancoTalentosApoio-struts.xml:

    <action path="/tipoFiltroConsultaPrepararVisualizacao" type="br.gov.camara.visao.bancotalentosapoio.action.TipoFiltroConsultaAction" input="visao.bancotalentosapoio.indexbancotalentosapoio">
    <forward name="sucesso" path="visao.bancotalentosapoio.tipofiltroconsulta"/>
    </action>

    E é essa ação que deve na tabela FuncionalidadeSistema no campo nomObjetoControlado:
    - IDEFUNCIONALIDADESISTEMA (id): 661

    - NOMFUNCIONALIDADESISTEMA (nome): 'Visualização dos tipos de filtro de consulta'

    - DESFUNCIONALIDADESISTEMA (descrição): 'Preparar visualização dos tipos de filtro de consulta'

    - NOMOBJETOCONTROLADO: '/tipoFiltroConsultaPrepararVisualizacao'

    - IDEFUNCIONALIDADEAGRUPADORA (id da funcionalidade que agrupa outras semelhantes) : 660

    - IDESISTEMA (id do sistema): 1

    O ideFuncionalidadeAgrupadora é informado para agrupar funcionalidades correlatas, por exemplo: você poderia criar uma com o nome 'Nova tela para gerenciamento dos adms' com qualquer nomObjetoControlado (aqui não importa porque ela só é uma agrupadora) e com ideFuncionalidadeAgrupadora = 4 (apontando para o módulo de apoio do banco de talentos). Em seguida você utiliza esse id como agrupadora em todas as funcionalidades correlatas que você criar.

    A funcionalidade agrupadora é um facilitador para não ter que manter a associação entre todas as funcionalidades e os respectivos perfis em PerfilFuncionalidadeSistema: basta associar a funcionalidade agrupadora pai a um perfil que todas as filhas ficarão acessíveis a esse perfil também.

    Espero ter ajudado.

    Um abraço,

    Luciano.

    PS: observer que no arquivo de configuração do Struts, bem como no campo nomObjetoControlado o nome da ação é precedido por "/", enquanto que no arquivo de configuração do menu o nome tem o sufixo ".do".

    • 5027e96c2c456119c052b9d4a37310c8?only path=false&size=50&d=404Christian Cleber Masdeval Braz(usuário não autenticado)
      20 de Maio de 2010, 15:17

       

      Valeu Luciano. Ajudou muito sim. Acho que até que a resposta poderia estar na Wiki como parte da documentação.

       Eu já tinha feito a parte do menu e no struts-config, mas não tinha entendido direito a ideia da funcionalidade agrupadora.

       

      Abraço,

      Christian

Essa comunidade não possui posts nesse blog