Bom,
Fiz um teste com o Módulo Segurança com a 3º opção(usuario/grupo/aplicação). Lá dá para vc dividir grupos e usuários com as aplicações certo, mas em Dados Gerais ele pede só um Menu e o que gostaria de fazer era que tivesse uma área restrita para o Admin e outra para o Cliente.
Estou usando as tabelas que o exemplo do webHelp em Projeto/Segurança
Tabelas abaixo
[code]-- -----------------------------------------------------
– Table tbl_aplicacoes
CREATE TABLE IF NOT EXISTS tbl_aplicacoes (
nome VARCHAR(150) NOT NULL ,
descricao VARCHAR(170) NULL DEFAULT NULL ,
PRIMARY KEY (nome) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
– Table tbl_grupos
CREATE TABLE IF NOT EXISTS tbl_grupos (
codigo INT(11) NOT NULL AUTO_INCREMENT ,
descricao VARCHAR(50) NULL DEFAULT NULL ,
PRIMARY KEY (codigo) ,
UNIQUE INDEX XPKtblgrupousuario (codigo ASC) )
ENGINE = InnoDB
AUTO_INCREMENT = 7
DEFAULT CHARACTER SET = latin1;
– Table tbl_grupos_x_apps
CREATE TABLE IF NOT EXISTS tbl_grupos_x_apps (
cod_grupo INT(11) NOT NULL DEFAULT ‘0’ ,
cod_aplicacao VARCHAR(150) NOT NULL ,
PRIMARY KEY (cod_grupo, cod_aplicacao) ,
UNIQUE INDEX XPKtblgrupoxdireito (cod_grupo ASC, cod_aplicacao ASC) ,
INDEX tbl_grupos_x_apps_ibfk_2 (cod_aplicacao ASC) ,
CONSTRAINT tbl_grupos_x_apps_ibfk_1
FOREIGN KEY (cod_grupo
)
REFERENCES tbl_grupos (codigo),
CONSTRAINT tbl_grupos_x_apps_ibfk_2
FOREIGN KEY (cod_aplicacao)
REFERENCES tbl_aplicacoes (nome))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
– Table tbl_usuarios
CREATE TABLE IF NOT EXISTS tbl_usuarios (
login VARCHAR(20) NOT NULL DEFAULT ‘’ ,
senha VARCHAR(40) NULL DEFAULT NULL ,
nome CHAR(50) NULL DEFAULT NULL ,
email VARCHAR(100) NULL DEFAULT NULL ,
PRIMARY KEY (login) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
– Table tbl_usuario_aplicacoes
CREATE TABLE IF NOT EXISTS tbl_usuario_aplicacoes (
fk_usuario_login VARCHAR(20) NOT NULL ,
fk_interface_nome VARCHAR(150) NOT NULL ,
PRIMARY KEY (fk_usuario_login, fk_interface_nome) ,
INDEX tbl_usuario_aplicacoes_ibfk_2 (fk_interface_nome ASC) ,
CONSTRAINT tbl_usuario_aplicacoes_ibfk_1
FOREIGN KEY (fk_usuario_login)
REFERENCES tbl_usuarios (login),
CONSTRAINT tb_usuario_aplicacoes_ibfk_2
FOREIGN KEY (fk_interface_nome)
REFERENCES tbl_aplicacoes (nome))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
– Table tbl_usuarios_x_grupos
CREATE TABLE IF NOT EXISTS tbl_usuarios_x_grupos (
login VARCHAR(20) NOT NULL DEFAULT ‘’ ,
cod_grupo INT(11) NOT NULL DEFAULT ‘0’ ,
UNIQUE INDEX XPKtblgrupoxusuario (cod_grupo ASC, login ASC) ,
INDEX tbl_usuarios_x_grupos_ibfk_1 (login ASC) ,
CONSTRAINT tbl_usuarios_x_grupos_ibfk_1
FOREIGN KEY (login)
REFERENCES tbl_usuarios (login),
CONSTRAINT tb_usuario_x_grupos_ibfk_2
FOREIGN KEY (cod_grupo)
REFERENCES tbl_grupos (codigo))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
[/code]
Tenho um Menu para o Admin e fiz um outro para Clientes aonde quero colocar algumas consultas para serem visualizadas.
Perguntas:
Como posso fazer para que o meu cliente não veja os dados do admin e só entre em sua área?
Devo colocar na tabela usuarios um campo tipo?
Como faço esta validação?
Aguardo a ajuda de vcs.