Pessoal,
A implementação padrão do controle de acesso informada no arquivo /WEB-INF/classes/resources/SegImpl.properties através da chave aplicacao.seguranca.implementacao.permissao é a classe br.gov.camara.seguranca.implementacaobt.PermissaoGeralBT. Ela indica que qualquer usuário autenticado terá acesso a todas as funcionalidades do sistema.
Uma outra implementação de exemplo que acompanha a distribuição do Banco de Talentos é a classe br.gov.camara.seguranca.implementacaobt.PermissaoBT. Essa classe indica que o usuário autenticado só terá acesso a uma funcionalidade se ele estiver associado ao perfil que contém essa funcionalidade. Essa verificação é feita através das tabelas (UsuarioSistema -> UsuarioPerfilSistema OU Grupo -> PerfilSistemaGrupo) -> PerfilSistema -> PerfilFuncionalidadeSistema -> FuncionalidadeSistema.
Se vocês quiserem ver o funcionamento dessa segunda implementação, vocês terão que apontar para essa classe no arquivo SegImpl.properties (basta remover a palavra "Geral" de PermissaoGeralBT resultando em PermissaoBT no arquivo e chave citados no primeiro parágrafo).
Para o banco de exemplo, o usuário M10001 só tem permissão para manter seus talentos e consultar talentos e estatísticas (ele não tem acesso ao módulo de Manutenção). O usuário M10002 só tem permissão para manter seus talentos e acessar o módulo de manutenção (ele não tem permissão para consultar talentos)...
IMPORTANTE: a funcionalidade para Visualizar Currículo não estava no script de carga banco de dados (que foi acrescentada hoje). Para dar carga nessas funcionalidades, execute os dois INSERTs a seguir:
insert into `funcionalidadesistema` (`IDEFUNCIONALIDADESISTEMA`, `NOMFUNCIONALIDADESISTEMA`, `DESFUNCIONALIDADESISTEMA`, `NOMOBJETOCONTROLADO`, `IDEFUNCIONALIDADEAGRUPADORA`, `IDESISTEMA`) values (700,'Impressão de currículo','Impressão de currículo','/curriculoGerarRelatorio',50,1);
insert into `funcionalidadesistema` (`IDEFUNCIONALIDADESISTEMA`, `NOMFUNCIONALIDADESISTEMA`, `DESFUNCIONALIDADESISTEMA`, `NOMOBJETOCONTROLADO`, `IDEFUNCIONALIDADEAGRUPADORA`, `IDESISTEMA`) values (701,'Visualização de currículo','Visualização de currículo','/curriculoPessoalPrepararVisualizacao',50,1);
Notem que os menus são montados de acordo com as permissões dos usuários. Qualquer dúvida, entrem em contato.
OBSERVAÇÃO: requer a versão 1.0 ou superior do Banco de Talentos.
Um abraço,
Luciano.
Autor: Luciano Dias