RESTRINGIR ACESSO A MODULOS DO SISTEMA

HUBER.FABIO 24/08/2009 13:39:44
#320811
Caros amigos ! ..vamos a mais um HELP

Necessidade: Restringir rotinas do sistema por cliente

Motivo: Alguns clientes querem somente o contas a receber, então gostaria de liberar somente módulos referente ao mesmo

Alguém tem algo parecido, pois no meu caso tenho clientes que querem como já dito somente o contas a receber então querem um preço mais em conta do que aqueles que usam o sistema por completo, e no final acabam usando outras coisas. Gostaria de alguma idéia para que possa estar restringindo acesso a determinados módulos do sistema, e também podendo liberar os mesmos de forma on-line como por exemplo se esse cliente no futuro quizer usar o contas a pagar também eu liberaria de alguma forma sem ter que atualizar.

Aberto a sugestões.
ASHKATCHUP 24/08/2009 13:44:08
#320813
Uma opção possível é [Ô]cadastrar[Ô] as telas (módulos) em uma tabela e em algum campo quardar que clientes tem acesso a ela. Quando você abrir a tela, verifique se o cliente tem permissão (no banco de dados). Se não, feche a tela/mostre mensagem.

Esse é o modo [Ô]tosco[Ô] de se fazer. Para algo mais profissional, sugiro criar os menus da sua aplicação (suponho de tenha) via código, validando assim as permissões.
LCSD 24/08/2009 13:44:18
#320814
Caro HUMBER,

O ideal seria VC fazer um cadastro de permissões em seu sistema, e conforme o usuário LOGADO, VC verifica nesta tabela se o mesmo possuí direito a uso daquele determinado módulo, e se naquele determinado módulo o cara pode INSERIR/EDITAR/APAGAR um registro.
Aí, VC pode vender os seus sistemas da forma que está vendendo agora, só que o cara teria o usuário de acesso ao sistema liberado somente o módulo RECEBER. E se o cara quiser usar o módulo PAGAR, aí VC libera neste usuário o módulo PAGAR e pronto.......
Se for o caso, para isso não ficar visível para o CLIENTE (como uma tela de cadastro), faça isso via INSERTS na tabela direto. Mas trate todo o seu sistema a LER essa tabela e verificar se o cara terá acesso para abrir tal módulo.
RRANGON 24/08/2009 13:52:08
#320817
Monta um número de licença para o cliente, dentro da licença você permite (via código binario por exemplo) os modulos que podem ser acessados ou não.
ROBIU 24/08/2009 13:54:33
#320818
Você pode fazer um esquema semelhante a login do usuário: Coloca os seriais em um banco cryptografado ou no próprio código. Quando acessar ele consulta esse arquivo e verifica a permissão. Conforme o serial, ele terá ou não acesso a tais módulos. Para trocar o serial, ou você cria a rotina para o usuário entrar com o novo serial ou envia um arquivo para, ao executar, substituir o arquivo validador. Esse arquivo Validador pode ser um txt ou .mdb, com extensão modificada, para dificultar a localização. Pode até colocá-lo na pasta system do win.
HUBER.FABIO 24/08/2009 14:03:39
#320820
Olá amigos ! grato pela ajuda até o momento. Vou expor minha idéia inicial e se estiver viajando me avisem.rs

Minha idéia inicial é trabalhar com nível de acesso, ou seja, deixar meus menus [Ô]não editáveis[Ô] ou [Ô]invisíveis[Ô], tanto faz, dependendo do nível de acesso gravado (criptografado) na tabela. Imagino se nível 1 o cliente tem acesso ao Contas a Receber, se o cliente é de nível 2 tem acesso a Contas a Receber e Contas a Pagar e assim sucessivamente.

Tenho um controle de usuários onde o mesmo (ADM) pode habilitar e desabilitar acesso a determinados módulos do sistema, podendo restringir por grupos, etc...mais isso é controle do usuário final, acho que não posso seguir o mesmo rumo para esse tipo de controle que busco.

Acho que minha idéia inicial por nível é um bom começo, mais ai surgiu a dúvida de como trocar esse cliente do nível 1 para o nível 2 via telefone por exemplo ? Será que existe alguma senha (número de licença) que consiga embutir esse nível de acesso nela e assim mudando o nível automáticamente no meu bco de dados ? Será que consigo fazer essa senha não repetiviva ? pois trabalho também com representações, então pode ser que meu [Ô]representante[Ô] pega essa senha e saia aumentando o nível nos seus clientes.

ASHKATCHUP 24/08/2009 14:12:27
#320822
Como o RRANGON falou, crie uma chave que libera o acesso, baseado no HD da máquina ou código do cliente. Assim você consegue [Ô]liberar via telefone[Ô] e evitar que o código [Ô]vaze[Ô].
MARCOLACERA 24/08/2009 14:50:24
#320824
[txt-size=1]Colegas não seria mais fácil, dividir o projeto em partes, um executável para cada modulo?[/txt-size]
LCSD 24/08/2009 15:42:35
#320828
E PQ ao invés de VC liberar o acesso para o cliente via FONE, VC não dá a opção da liberação somente via ACESSO REMOTO ao micro ??
E via ACESSO REMOTO VC pode rodar scripts de atualização na tabela USUARIO, onde liberaria o acesso a outros módulos do sistema.

Tópico encerrado , respostas não são mais permitidas