| 4 | == 1 Descrição == |
| 5 | |
| 6 | A camada de controle valida se um usuário tem acesso a uma ação da aplicação através da consulta de determinadas tabelas do banco de dados do expresso. Estas tabelas utilizam o prefixo app e são populadas no cadastro ou manutenção da aplicação. Sempre que a camada de controle for executar uma ação é executada a rotina de validação de acesso utilizando o usuário mantido na sessão do expresso. |
| 7 | |
| 8 | O acesso as ações são propriedades de grupos que contém usuário e são cadastrados na tabela app_groups. Existe uma tabela que faz o relacionamento entre usuários e grupos e outra que liga grupos a permissões de acesso. Para que um ator do sistema possa executar uma ação é necessário que este pertença ao grupo que pode executa-la. |
| 9 | |
| 10 | A camada de controle do módulo tem implementado os métodos necessários para acessar o banco de dados e recuperar a sessão do expresso para realizar a validação dos dados. Esta validação serve também para fornecer para a camada qual a classe deve ser instânciada e qual o método deve ser executado para a ação. Estas informações são utilizadas para executar as regras de negócio relativas a ação. |
| 11 | |
| 12 | == 2 Atores == |
| 13 | |
| 14 | 1. Usuários do Sistema |
| 15 | |
| 16 | == 3 Pré-condições == |
| 17 | |
| 18 | Usuário ter sido validado pelo expresso |
| 19 | |
| 20 | == 4 Eventos == |
| 21 | |
| 22 | 1. Camada de controle solicita a validação do usuário passando o id contido na sessão. |
| 23 | 2. Camada de controle executa consulta no banco de dados utilizando o id da sessão, codigo da aplicação e código da ação como parâmetro da consulta; |
| 24 | 3. Banco de dados retorna classe e método a ser executado pela camada de controle.{A1}{E1} |
| 25 | |
| 26 | == 5 Eventos Alternativos == |
| 27 | |
| 28 | 1. Banco de dados não localiza nenhum registro e retorna que o usuário não tem permissão de acesso para realizar a ação. |
| 29 | |
| 30 | == 6 Tratamento de Erros == |
| 31 | 1. Ocorreu erro no acesso ao banco de dados ou erro na instrução SQL, gera mensagem de erro {M1}{M2} para a classe de controle. |
| 32 | |
| 33 | == 7 Mensagem == |
| 34 | 1. Não foi possível acessar o banco de dados, tente novamente mais tarde. |
| 35 | 2. Erro ao acessar as informações do usuário. |
| 36 | |
| 37 | == 8 Pós-condições == |
| 38 | |
| 39 | Informação de validação ou não do usuário. |
| 40 | |
| 41 | == 9 Regras de Negócio == |
| 42 | |
| 43 | O usuário somente poderá executar uma atividade se pertence ao grupo que tem acesso a execução da mesma. |
| 44 | |
| 45 | == 10 Telas Envolvidas == |
| 46 | |
| 47 | Não relevante. |
| 48 | |
| 49 | == 11 Notas == |