VerificaPermissaoUsuarioRedirect

De DTI Wiki

Ir para: navegação, pesquisa

public function verificaPermissaoUsuarioRedirect($codAplicacao, $codObjetoDelphi, $matriculaEmpregado = NULL, $messageWarning = NULL, $linkRedirectOnFail = FALSE)

Função

Verifica se um determinado usuário tem acesso à uma determinada tag de uma determinada aplicação. Se o usuário tem a permissão nenhuma ação é feita e o processamento do script continua normalmente. Porém quando o usuário não tem a permissão, então é exibido uma mensagem referente a esta falta de permissão ou é feito o redirecionamento para outra página e e em seguida é abortado o restante do processamento do script com um exit().

Esta função deve ser utilizada para verificar os acessos especiais da intranet. Os acessos especiais são aqueles que utilizam o sistema de gerenciamento de usuários e permissões das aplicações delphi. Isto porque os acessos da intranet são somente a nível de menus e de submenus da intranet. Quando precisa-se controlar acessos mais específicos dentro da intranet, como por exemplo a ação de um usuário ou a permissão de usuário para acessar/clicar em um determinado botão dentro de algum sistema da intranet (botão "excluir", por exemplo) ou ainda o acesso a uma tela/página/link mais interno de alguma aplicação intranet, deve ser usado controles dos sistemas informatizados (mesma estrutura das aplicações delphi), que permitem controles mais específicos. Para isto, deve-se criar uma nova aplicação na tabela gudesenv.aplicacao ou utilizar alguma existente e criar uma nova tag na tabela gudesenv.objetodelphi ou utilizar alguma existente e utilizar os códigos referentes a estes na chamada deste método da UpfTpl, verificaPermissaoUsuarioRedirect().

Sugestão: considere a utilização do método UsuarioTemPermissao ao invés deste.



Parâmetros

$codAplicacao = Código da aplicação, referente à coluna gudesenv.aplicacao.codaplicacao.
$codObjetoDelphi = Código do objeto delphi, referente à coluna gudesenv.objetodelphi.codobjetodelphi.
$matriculaEmpregado = Matrícula do empregado que se deseja verificar a permissão. Não é obrigatório informar este parâmetro, por default ele tem o valor de NULL. Quando não informado ou informado NULL, é pego automaticamente o usuário logado na sessão ou no become da sessão da intranet.
$messageWarning = Menssagem de alerta que será exibida na tela para o usuário. Não é obrigatório ser informado, por default ele tem o valor de NULL. Quando não informado ou informado NULL, será exibida uma mensagem padrão que o usuário não tem acesso para aquela determinada tela (página) ou ação requerida. Quando informada outra mensagem, esta será utilizada para ser exibida para o usuário. Quando informado o valor de FALSE nenhuma mensagem será exibida para o usuário. Quando informado algum valor diferente de FALSE no parâmetro $linkRedirectOnFail, não será exibida nenhuma mensagem na tela.
$linkRedirectOnFail = Link a ser redirecionado em caso de o usuário não ter acesso. Não é obrigatório ser informado, por default ele tem o valor de FALSE. Quando não informado ou informado FALSE não será feito o redirecionamento da página. Quando informado NULL, será redirecionado para a página de início da intranet. Pode ser informado também algum outro link para ser feito o redirecionamento caso for necessário. Quando informado algum valor diferente de FALSE, a mensagem do parâmetro $messageWarning não será exibida em tela.

Exemplos:

$app->verificaPermissaoUsuarioRedirect('INT_QTIMP', 8);

ou

$app->verificaPermissaoUsuarioRedirect('INT_QTIMP', 8, NULL);

ou

$app->verificaPermissaoUsuarioRedirect('INT_QTIMP', 8, 8899);

ou

$app->verificaPermissaoUsuarioRedirect('INT_QTIMP', 8, 8899, NULL);

ou

$app->verificaPermissaoUsuarioRedirect('INT_QTIMP', 8, 8899, NULL, FALSE);

ou

$app->verificaPermissaoUsuarioRedirect('INT_QTIMP', 8, NULL, 'Usuário sem permissão de acesso para esta ação.', FALSE);

ou

$app->verificaPermissaoUsuarioRedirect('INT_QTIMP', 8, NULL, FALSE, '/apps/dti/quotasImpressoes/admin/menu.php');


Boas Práticas: recomenda-se o uso de constantes do PHP para o código da aplicação e para o código do objeto delphi, como no exemplo a seguir:

$app->verificaPermissaoUsuarioRedirect(D_CODAPLICDELPHI_INT_QTIMP, D_CODOBJDELPHI_MNTQTASCCS, NULL, 'Usuário sem permissão de acesso para esta ação.', FALSE);
Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas