DET - Documento de Especificação Técnica Cadastro de Controle de Acesso
1. Informações Gerais sobre o Levantamento
RESPONSÁVEL PELA ELABORAÇÃO
| Unidade | Nome | Fone | |
| GER-TI | Igor Vinicius dos Santos Silva | ivinicius@tce.go.gov.br | |
1. Descrição das Necessidades
O sistema TCE-Docs deverá prover mecanismos de controle de acesso do sistema, de modo a garantir que apenas pessoas autorizadas utilizem o sistema tanto para visualizar documentos publicados quando para criar documentos ainda em etapa de elaboração. Nesse sentido, o controle de dar permissão às funcionalidades (menus e ações) do sistema TCE-Docs será gerenciado pelo sistema GPAC - Gerência de Permissões de Acesso.
2. Premissas e Restrições
As funções de acesso e ações do sistema TCE-Docs deverão seguir o padrão de funções do sistema GPAC bem como serem implementadas e carregadas na forma de Claims (System.Security.Claims).
3. Estória de Usuário
A estória de usuário que representa a necessidade acima apresentada é a estória:
| Código | Descrição |
|---|---|
| EU.03 | COMO usuário do TCE-GO QUERO criar grupos de usuário PARA que os mesmos possam editar ou criar documentos conforme plano de classificação. |
4. Proposta de Solução
A proposta de solução descrita neste escopo é uma sugestão e poderá sofrer mudanças durante o processo de desenvolvimento, caso se identifique a necessidade.
4.1. Acesso de Menus
Os menus do sistema será dividido da seguinte forma:
- Início;
- Cadastro de Plano de Classificação;
- Cadastro de Indicadores;
- Cadastro de Tipos de Documento;
- Cadastro de Modelos de Documentos;
- Controle;
- Auditoria;
- Documentos;
- Pesquisa.
Menu Inicio
O menu Início será padrão para qualquer acesso ao sistema que apresentará comportamento diferente quando o usuário estiver logado no sistema. Ao acessar o sistema esse menu será acessado automaticamente, carregando na tela a apresentação do sistema com uma breve descrição do propósito do sistema TCE-Docs. Caso o usuário esteja logado, serão apresentados 5 (cinco) últimos documentos criados, ou editados, ou publicados (assinados) pelo usuário - funcionalidade Últimos documentos, bem como os documentos remetidos ao usuário para apreciação - funcionalidade Documentos para apreciação.
Para os documentos enviados para apreciação será apresentado o prazo para dar andamento no documento, a fim de auxiliar o usuário em seu controle de atividades diárias. Esses documentos encaminhados para apreciação do usuário serão listados os 5 (cinco) documentos de maior prioridade, em ordenados crescente de prazo de conclusão.
Tanto para as listagens dos documentos do usuário logado quanto para os documentos enviados para apreciação, terá a opção de listar todos, que uma vez acionada será redirecionada para a funcionalidade de manutenção de documentos, opção meus documentos para a primeira, e opção documentos recebidos para a segunda.
Essas funcionalidades de Últimos documentos e Documentos para apreciação, apenas serão apresentados caso o usuário tenha acesso à funcionalidade de Documentos (função: funcDocumentos) - que é dado acesso pelo sistema GPAC, e se tiver documentos vinculados ao usuário.
ATENÇÃO: Os documentos que serão listados em Últimos documentos e Documentos para apreciação, serão apenas documentos criados e mantidos pelo TCE-Docs. Os documentos criados por outras aplicações no uso do TCE-Docs não deverão ser listados no TCE-Docs para manutenção e manipulação, visto que a manipulação realizada pelo TCE-Docs poderá impactar no fluxo de trabalho e no ciclo de vida dos documentos gerenciados e controlados pela aplicação que o originou.
Menu Cadastro de Plano de Classificação (função: funcCadPlClassificacao)
A funcionalidade Cadastro de Plano de Classificação apenas será apresentada caso o usuário logado que tenha permissão de acesso, liberada pelo sistema GPAC. Nessa opção de menu quando acionada pelo usuário será apresentado o ambiente de manutenção de planos de classificação.
Menu Cadastro de Indicadores (função: funcCadIndicadores)
A funcionalidade Cadastro de Indicadores apenas será apresentada caso o usuário logado que tenha permissão de acesso, liberada pelo sistema GPAC. Nessa opção de menu quando acionada pelo usuário será apresentado o ambiente de manutenção de indicadores.
Menu Cadastro de Tipos de Documento (função: funcCadTipoDocumento)
A funcionalidade Cadastro de Tipos de Documento apenas será apresentada caso o usuário logado que tenha permissão de acesso, liberada pelo sistema GPAC. Nessa opção de menu quando acionada pelo usuário será apresentado o ambiente de manutenção de tipos de documento.
Menu Cadastro de Modelos de Documentos (função: funcCadModeloDocumento)
A funcionalidade Cadastro de Modelos de Documentos apenas será apresentada caso o usuário logado que tenha permissão de acesso, liberada pelo sistema GPAC. Nessa opção de menu quando acionada pelo usuário será apresentado o ambiente de manutenção de modelos de documentos.
Menu Controle (função: funcControle)
A funcionalidade Controle apenas será apresentada caso o usuário logado que tenha permissão de acesso, liberada pelo sistema GPAC. Nessa opção de menu quando acionada pelo usuário será apresentado o ambiente de controle do sistema, que é composto pelas funcionalidades de Controle de Numeração de Documentos (função: funcCtrlNumDocumento), Grupos de Usuários (função: funcCtrlGrupoUsuario), Controle de Assinantes (função: funcCtrlAssinantes) e Controle de Participantes de Documentos (função: funcCtrlParticDocumento).
Menu Auditoria (função: funcAuditoria)
A funcionalidade Auditoria apenas será apresentada caso o usuário logado que tenha permissão de acesso, liberada pelo sistema GPAC. Nessa opção de menu quando acionada pelo usuário será apresentado o ambiente de auditoria e relatórios.
Menu Documentos (função: funcDocumentos)
A funcionalidade Documentos apenas será apresentada caso o usuário logado que tenha permissão de acesso, liberada pelo sistema GPAC. Nessa opção de menu quando acionada pelo usuário será apresentado o ambiente de manutenção de documentos próprios ou de terceiros (documentos encaminhados para apreciação).
Menu Pesquisa
A funcionalidade de pesquisa será de acesso público, porem serão listados e disponíveis para consulta apenas os documentos públicos, isto é, apenas os documentos assinados que não estão sob controle de confidencialidade ou sigilo, que nesses casos só serão apresentados para pessoas autorizadas.
4.1.1. Protótipo de Tela
4.1.2. Descrição dos Atributos
Menu Início
- Últimos documentos
| Nome Funcionalidade | Obrigação | Regras Atributos | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Botão Editar (“E”) |
|
|||||||||
| Botão Alterar Documento (“A”) |
|
|||||||||
| Coluna “Documento” da grid |
|
|||||||||
| Coluna “Data alteração” da grid |
|
|||||||||
| Botão “Ver Todos” |
|
- Documentos para apreciação
| Nome Funcionalidade | Obrigação | Regras Atributos | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Botão Editar (“E”) |
|
|||||||||
| Botão Alterar Documento (“A”) |
|
|||||||||
| Coluna “Documento” da grid |
|
|||||||||
| Coluna “Prazo de término” da grid |
|
|||||||||
| Botão “Ver Todos” |
|
Menu Controle
| Nome Funcionalidade | Obrigação | Regras Atributos | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Botão Controle de Numeração de Documentos |
|
|||||||||
| Botão Grupo de Usuário |
|
|||||||||
| Botão Controle de Participantes de Documentos |
|
|||||||||
| Botão controle de Assinantes |
|
Menu Pesquisa
| Nome Funcionalidade | Obrigação | Regras Atributos | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Palavra Chave |
|
|||||||||||||
| Assunto |
|
|||||||||||||
| Classificação (do plano de classificação vigente) |
|
|||||||||||||
| Tipo de Documento |
|
|||||||||||||
| Modelo de Documento |
|
|||||||||||||
| Indicador/Valor |
|
4.1.3. Regras de Sistema
N/A
4.2. Função de Ação da Opção do Menu
Como apresentado na seção 4.1 e suas subseções, para controlar o acesso às funcionalidades do sistema TCE-Docs serão criadas para cada funcionalidade do menu de acesso, funções que serão controladas pelo sistema GPAC (Geência de Permissões de Acesso). Essas funções que serão vinculadas às funcionalidades apresentadas na seção 4.1, serão carregadas no momento de autenticação do usuário no sistema na forma de Claims (System.Security.Claims). Após autenticar o usuário, no contexto da aplicação Web será mantido na seção, a identificação do usuário (objeto DadosUsuario) bem como as permissões do usuário na aplicação TCE-Docs.
As funcionalidades e suas respectivas funções identificadas são:
| Funcionalidade | Função GPAC |
|---|---|
| Cadastro de Plano de Classificação | funcCadPlClassificacao |
| Cadastro de Indicadores | funcCadIndicadores |
| Cadastro de Tipos de Documento | funcCadTipoDocumento |
| Cadastro de Modelos de Documentos | funcCadModeloDocumento |
| Controle | funcControle |
| Controle de Numeração de Documentos | funcCtrlNumDocumento |
| Grupos de Usuários | funcCtrlGrupoUsuario |
| Controle de Assinantes | funcCtrlAssinantes |
| Controle de Participantes de Documentos | funcCtrlParticDocumento |
| Auditoria | funcAuditoria |
| Documentos | funcDocumentos |
4.2.1. Protótipo de Tela
N/A
4.2.2. Descrição dos Atributos
N/A
4.2.3. Regras de Sistema
N/A
4.3. Carregando permissões de acesso e aplicação de permissões
Na aplicação Web, na classe TCE.Docs.UI.MVC.Controller.ControllerPadraoDocs.cs, que herda da classe ControllerPadrao.cs (projeto TCE.MVC Componentes.UI.MVC), após o usuário se autenticar no sistema será executado através do método VerificaAutenticacao() o serviço ObtenhaPermissoesDoUsuario(decimal idUsario) (da classe de serviço TCE.Docs.Servico.Servicos.Controle.ServicoDeControleDeUsuario.cs), serviço que retornar a lista de Claims (permissões) do usuário informado como parâmetro na chamada do método. A lista de Claims do usuário será registrada no escopo da sessão do usuário na aplicação TCE-Docs, sob a chave de identificação Autorizacoes.
No controlador de cada funcionalidade será registrado por anotação, utilizando a classe útil TCE.Docs.UI.MVC.Utilitarios.ClaimsAuthorizationAttribute, a ou as permissões de acesso que usuário deverá ter para acessar a funcionalidade (controlador), utilizando as funções acessadas pela classe TCE.Docs.Enumeradores.Seguranca.ClaimsConhecidas.
4.3.1. Protótipo de Tela
N/A
4.3.2. Descrição dos Atributos
N/A
4.3.3. Regras de Sistema
N/A
4.3.4. Diagrama
4.4. Acesso de usuário a documentos específicos
Os documentos criados e mantidos pelo sistema TCE-Docs poderão ser acessados e mantidos por pessoas diferentes de quem criou o documento, para isso é necessário que na funcionalidade de manutenção de documentos permita que seja incluído participantes no documento. Essa funcionalidade de Controle de Participantes no Documento permitirá que se possa incluir usuário ou grupos de usuário ao documento, permitindo que esses usuários possam participar do documento de forma a editar o documento ou assinar o documento.
4.4.1. Protótipo de Tela
4.5. Grupos de Usuários
A funcionalidade de Grupos de Usuário será utilizada para identificar pessoas que atuam em documentos com a mesma finalidade, como comissão de licitação, comissão administrativa, comissão de edital de concursos e outros. Nesse sentido, há necessidade de manter grupos de usuário para identificar os usuários que atuarão em documentos específicos.
A funcionalidade de grupos de usuário deverá disponibilizar mecanismo que identifique que o usuário de um setor, antes incluído em um grupo, está ativo ou inativo, de modo não permitir a inclusão do usuário como participante em determinado documento.
4.5.1. Protótipo de Tela
4.5.2. Descrição dos Atributos
| Nome Funcionalidade | Obrigação | Regras Atributos | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Descrição | X |
|
||||||||||||
| Situação | X |
|
4.5.3. Regras de Sistema
- Caso o grupo esteja em situação Inativo, o grupo não será apresentado na consulta de grupos de usuário para seleção e vinculação de participantes em documentos;
- Se o grupo estiver em situação Inativo, e o mesmo já esteja incluído como participantes em um documento, os usuários do grupo inativo para o acesso e ações de manutenção do documento, será aplicada a restrição de acesso e uso do documento da mesma forma como será aplicado para usuários não participantes do documento.








