Funcionalidades
Política de acesso "Exige credencial"
ADS.CAD_TELA.FAQ-40867
As operações que tem política de acesso "Exige credencial" funcionam de forma semelhante à política de acesso "Restrito".
Quando o usuário tem acesso a operação, o comportamento das interfaces é exatamente igual ao da política "Restrito", onde o usuário tem acesso aos botões de formulários e a transação é realizada sem nenhum bloqueio relacionado às regras de acesso.
No caso do usuário não ter acesso a operação, ele terá acesso as ações e aos formulários MAS no momento da execução dos mesmos, o sistema irá pedir as credenciais de um usuário que tenha este direito de acesso.
A política de acesso "Exige credencial" é suportada APENAS para as seguintes operações:
- Formulários de inclusão (INSERT)
- Formulários de alteração (UPDATE)
- Record actions COM FORMULÁRIOS (RECORD_ACTION)
- Custom actions COM FORMULÁRIOS (CUSTOM_ACTION)
Registro do usuário que concedeu o acesso
Quando uma operação deste tipo é usada, nem sempre o usuário responsável pela sua execução será o usuário da sessão. Para efeitos de log, o usuário que concedeu a permissão somente será identificado pelo parâmetro Z_AUTHORIZATION_LOGIN da requisição. Este parâmetro é apresentado apenas quando for necessário informar uma credencial. Caso o próprio usuário da sessão já tenha o direito de acesso, então o parâmetro não é apresentado.
Se for necessário manter registro do usuario responsável pela operação no modelo de dados, será necessário escrever uma regra de negócio (de interface) que capture esta informação através do método getAuthorizationUser() conforme o exemplo abaixo:
User user = getAuthorizationUser();
getRecord().setUsuarioCancelamentoId(user.getId());
Note que, caso este método seja chamado fora de uma operação com a política de acesso "Exige credencial" ou que o usuário da sessão já tenha este direito de acesso, então o próprio usuário da sessão será retornado.
Ver também: