O esquema de Segurança do SC5 está ok?

Implementei o esquema de segurança gerado automaticamente pelo SC5. Acertei as ligações, defini as chaves primárias e gerei os fontes. O grupo ADMINISTRAÇÃO é criado automaticamente.
Para testar, criei mais um grupo de defini quais aplicações deveria ser abertas por aquele grupo. Criei um novo usuário e o incluí dentro desse grupo recém-criado. Quando mando executar a aplicação com o login desse novo usuário, o meno da aplicação está aparecendo com todas as aplicações definidas no sistema, ou seja, o módulo de segurança não está funcionando.
Creio que eu esteja me esquecendo de algum detalhe. Há necessidade de alterar alguma coisa nas aplicações?

Valter a algumas coisas que v/c tem que verificar …

1 - Em configurações verifique se “Habilitar Uso de segurança” esta habilitado;
2 - Com relação a “Todas as aplicações do menu” verifique se nas configurações do menu esta marcado “Esconder Ítens de Menu”;
3 - Tmb verificar se as ditas aplicações esta com “Usar segurança habilitada”.

Primeiramente, obrigado por sua atenção.
Definitivamente o Esquema de Segurança gerado automaticamente pelo SC5 não está funcionando (ou eu ainda não captei o espírito da coisa). Fiz tudo o que você sugeriu e nada! Com qualquer usuário e senha que eu entro, todas as aplicações são mostradas no menu.
Seria o caso de começar a funcionar apenas no ambiente de produção, lá no meu cliente? Ou isso já deveria estar funcionando no meu ambiente de desenvolvimento?

Criei o meu próprio esquema de Segurança, pois se verificarmos bem esse do SC não gerencia Edição, Exclusão, Inclusão, etc. A segurança apenas impede que se tenha acesso às aplicações, caso o usuário tenha acesso a um formulário, então ele poderá fazer tudo.
Meu esquema Funciona e tenho maior controle sobre o código.

Valter, as aplicações do menu só estão sendo exibidos ou estão dando acesso a utilizar tmb…?

As aplicações estão sendo exibidas e está sendo possibilitado acesso a todas elas, ou seja, liberou geral.

Valter,

Você está habilitando “Usar segurança” nas aplicações?

George Carvalho

Júlio bom dia!

Como vc fez para ter controle de Inclusão/alteração/Exclusão no seu esquema de segurança, o esquema de segurança do SC5 no meu caso é falha, porque uma coisa é mostrar formulários, consultas e relatórios, outra bem diferente é ter controle de usuários com permissões.

Valter, nas minhas aplicações eu criei os Grupos dentro do Programa, e fui criando menus para cada Grupo de trabalha, quando o usuário se loga eu encaminho ele para o menu do grupo de trabalho que ele pertence. é bem precário concordo mas para usar uma solução que só me atende até a metade prefiro ficar com a minha solução.

Sei que também posso criar os grupos, dar permissões, etc., mas se o SC5 me a possibilidade de criar toda a estrutura e, depois disso, eu entrar com o código apenas das permissões por grupo, isso já iria me adiantar bastante, pois são muitos grupos.
Se eu conseguisse fazer o esquema de segurança do SC5 funcionar no seu básico, já me serviria. Depois eu faria as melhorias.
De qualquer forma, obrigado aos colegas pela ajuda.

Eu uso uma Função no evento OnValidate do form.
//valida operacoes e suas permissoes
if (sc_before_insert){
$e_permitido = nivel_permissao([nivel_permitido],0);
if ($e_permitido == 1){
sc_error_message([msg_permissao]);
}
}elseif(sc_before_update){
$e_permitido = nivel_permissao([nivel_permitido],1);
if ($e_permitido == 1){
sc_error_message([msg_permissao]);
}
}elseif(sc_before_delete){
$e_permitido = nivel_permissao([nivel_permitido],2);
if ($e_permitido == 1){
sc_error_message([msg_permissao]);
}
}

Onde:
[nivel_permitido] é o nível de cada usuário capturado no ato do login
nivel_permissao([nivel_permitido],1) é a função que captura o níel de permissão e o nível corrente do usuário. (0 verifica se é permitirdo Inserir, 1 Atualizar, 2 deletar)
Essa função retorna 0 (zero) quando é permitido e 1 qdo não.

Por fim:
[msg_permissao] é uma mensagem Global de segurança.

Espero que lhe ajude a desenvolver a sua e dos demais colegas
Abraço

Certo Júlio, muito bom para que trabalha somente com níveis de permissão, mais tem a necessidade de fazer a inclusão em todas as aplicações, hoje eu utilizo uma rotina adaptada no próprio modulo de segurança do SC onde eu já trabalhos com estas permissões no ato do login e é configurável nas aplicações de segurança um controle de CIDAT(Consulta,Inclusão,Deletar,Atualizar,Total);

PS. Não posso deixar de dar os créditos ao nosso amigo Cleyton Euler que me passou suas rotinas, estas em que tomei como base para minhas novas adaptações …

Julio boa tarde!

Show de bola!!!
Simples objetivo eprático como precisava…
já implementei na minha aplicação… deu um pouco de trabalha mas… ficou como eu queria e precisava.

AI PESSOAL DA NETMAKE… IMCREMENTA ISSO AI PRA GENTE!!!

O esquema de segurança do SC5 gera códigos na aplicação de login. O código gerado vai bem até o momento em que o status das aplicação deveria ser mudados com o SC_APL_STATUS. Aí não funciona de jeito algum. O status das aplicações não se alteram, fazendo parecer que a macro não está funcionando.
Para resolver o problema, coloquei a rotina no evento ON LOAD da aplicação de MENU. Aí começou a funcionar.

Essa foi a a maneira que encontrei para ter a rotina de segurança gerada funcionar.