- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Controle de Permissões - Customização
×
Linguagem de Programação ADVPL
Perguntas Controle de Permissões - Customização
- IM76
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 8
- Obrigados Recebidos: 0
8 anos 2 semanas atrás #31370
por IM76
Controle de Permissões - Customização foi criado por IM76
Boa noite.
Estamos desenvolvendo uma customização que precisa ter o seu acesso controlado evitando que qualquer usuário acesse a mesma.
Criamos uma função e adicionamos um botão no ponto de entrada MA030BUT(). Outras Ações no cadastro de clientes.
Como faço para restringir o acesso a essa função usando o controle de privilégios do sistema ?
Ao liberar o acesso a MATA030, a função aparece na lista assim como os demais botões da tela. Mesmo negando o acesso para o usuário / grupo o botão aparece e ao clicar a função é executada sem críticas.
Estamos desenvolvendo uma customização que precisa ter o seu acesso controlado evitando que qualquer usuário acesse a mesma.
Criamos uma função e adicionamos um botão no ponto de entrada MA030BUT(). Outras Ações no cadastro de clientes.
Como faço para restringir o acesso a essa função usando o controle de privilégios do sistema ?
Ao liberar o acesso a MATA030, a função aparece na lista assim como os demais botões da tela. Mesmo negando o acesso para o usuário / grupo o botão aparece e ao clicar a função é executada sem críticas.
Por favor Acessar ou Registrar para participar da conversa.
- will
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 81
- Obrigados Recebidos: 0
8 anos 1 semana atrás #31373
por will
Respondido por will no tópico Controle de Permissões - Customização
Eu controlo colocando o codigo do usuario que possa acessar em um parametro e só liberado se a varivel __cUserId bater com o parametro.
Por favor Acessar ou Registrar para participar da conversa.
- IM76
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 8
- Obrigados Recebidos: 0
8 anos 1 semana atrás #31376
por IM76
Respondido por IM76 no tópico Controle de Permissões - Customização
William,
Desta forma eu sei que funciona. Pode também validar se o usuário pertence a um grupo específico.
No entanto, eu queria reproduzir o comportamento nativo do sistema assim como as telas desenvolvidas pela TOTVS. Ou seja, se negar o acesso via privilégio ou perfil default a tela não abre, informa a mensagem padrão "Esse usuário não possui acesso para executar essa operação" assim como todas as rotinas do sistema.
Desta forma eu sei que funciona. Pode também validar se o usuário pertence a um grupo específico.
No entanto, eu queria reproduzir o comportamento nativo do sistema assim como as telas desenvolvidas pela TOTVS. Ou seja, se negar o acesso via privilégio ou perfil default a tela não abre, informa a mensagem padrão "Esse usuário não possui acesso para executar essa operação" assim como todas as rotinas do sistema.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
8 anos 1 semana atrás #31377
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Controle de Permissões - Customização
PswOrder(2)
If PswSeek( __cUserId, .T. )
aArray := PswRet() // Retorna vetor com informações do usuário
// verifique os direitos do usuario e faça a validação se ele pode ou não continuar.
If aArray... <> xxxxxx yyyy zzz
MsgStop("Atenção Você Não Tem Permissão Para Usar Essa Rotina !")
Return .f.
Endif
EndIf
Veja a posição dos direitos aqui no link
tdn.totvs.com/pages/releaseview.action?pageId=267792734
If PswSeek( __cUserId, .T. )
aArray := PswRet() // Retorna vetor com informações do usuário
// verifique os direitos do usuario e faça a validação se ele pode ou não continuar.
If aArray... <> xxxxxx yyyy zzz
MsgStop("Atenção Você Não Tem Permissão Para Usar Essa Rotina !")
Return .f.
Endif
EndIf
Veja a posição dos direitos aqui no link
tdn.totvs.com/pages/releaseview.action?pageId=267792734
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- IM76
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 8
- Obrigados Recebidos: 0
8 anos 1 semana atrás #31378
por IM76
Respondido por IM76 no tópico Controle de Permissões - Customização
Luiz,
Obrigado.
Já tinha visto esta documentação mas não achei onde buscas as permissões propriamente ditas.
Consigo extrair o nome do menu (.xnu) e os grupos que ele pertence.
Mas aonde pego os privilégios ?
EX: MATA030 - Cadastro de Clientes
Privilégios Incluir, Alterar, Excluir, etc.
Pela PswSeek consigo achar o menu do usuário SIGAFAT.xnu e o grupo "VENDEDORES" que atribui ao usuário por exemplo.
Supondo que no privilégio do grupo eu neguei acesso a transação "Excluir". Quero saber como verifico essa transação para o usuário logado. O Protheus faz isso para todas as rotinas padrões do sistema.
[3] A Vetor contendo o módulo, o nível e o menu do usuário.
Ex: [3][1] = "019\sigaadv\sigaatf.xnu"
[3][2] = "029\sigaadv\sigacom.xnu"
Obrigado.
Já tinha visto esta documentação mas não achei onde buscas as permissões propriamente ditas.
Consigo extrair o nome do menu (.xnu) e os grupos que ele pertence.
Mas aonde pego os privilégios ?
EX: MATA030 - Cadastro de Clientes
Privilégios Incluir, Alterar, Excluir, etc.
Pela PswSeek consigo achar o menu do usuário SIGAFAT.xnu e o grupo "VENDEDORES" que atribui ao usuário por exemplo.
Supondo que no privilégio do grupo eu neguei acesso a transação "Excluir". Quero saber como verifico essa transação para o usuário logado. O Protheus faz isso para todas as rotinas padrões do sistema.
[3] A Vetor contendo o módulo, o nível e o menu do usuário.
Ex: [3][1] = "019\sigaadv\sigaatf.xnu"
[3][2] = "029\sigaadv\sigacom.xnu"
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Controle de Permissões - Customização
Tempo para a criação da página:0.155 segundos