Uso de Role (Papeis)
Seguinte,
Estou com uma tabela usuario (codusuario - inteiro, nome - varchar30, permissao integer) no ib
criei um user no ib com o login zesilva.
criei um role
CREATE ROLE ADMINISTRADOR
atribui todos os privilegios do papel administrador na tabela usuario
GRANT ALL ON USUARIO TO ADMINISTRADOR WITH GRANT OPTION
depois atribui ao usuario zesilva o papel de administrador
GRANT ADMINISTRADOR TO ZESILVA
Ateh ai legal, correto ?
Errado !!! Quando logo como zesilva eu não tenho permissao pra abrir tabela usuario.
Quando eu coloco o ze silva com permissao direto na tabela (GRANT ALL ON USUARIO TO ZESILVA WITH GRANT OPTION) ai fica tudo beleza... mas com role não. O que está acontecendo de errado ?
Estou com uma tabela usuario (codusuario - inteiro, nome - varchar30, permissao integer) no ib
criei um user no ib com o login zesilva.
criei um role
CREATE ROLE ADMINISTRADOR
atribui todos os privilegios do papel administrador na tabela usuario
GRANT ALL ON USUARIO TO ADMINISTRADOR WITH GRANT OPTION
depois atribui ao usuario zesilva o papel de administrador
GRANT ADMINISTRADOR TO ZESILVA
Ateh ai legal, correto ?
Errado !!! Quando logo como zesilva eu não tenho permissao pra abrir tabela usuario.
Quando eu coloco o ze silva com permissao direto na tabela (GRANT ALL ON USUARIO TO ZESILVA WITH GRANT OPTION) ai fica tudo beleza... mas com role não. O que está acontecendo de errado ?
Barcellosbh
Curtidas 0
Respostas
Gandalf.nho
23/04/2004
Você está indicando o role na string de conexão ao banco?
GOSTEI 0
Barcellosbh
23/04/2004
Minha conexão com o banco é atrvés de um TIBDatabase.... Nele informo como parametro o user_name e o password.... Não passo mas nenhum parametro pra ele, mudo o Databasename para o nome do arq, coloco falso no allowstreamconnected pra quando eu esquecer o bando conectado no projeto e coloco login como falso...
Eu tenho que especficar quais roles estou usando ???
Eu tenho que especficar quais roles estou usando ???
GOSTEI 0
Gandalf.nho
23/04/2004
Aí está o problema, você tem que indicar o role tb, se as permissões estão no role e não no user para dar certo.
GOSTEI 0
Barcellosbh
23/04/2004
Pra mim as permissões ficavam na tabela...
Como faço um login identificando o role ???
Como faço um login identificando o role ???
GOSTEI 0
Barcellosbh
23/04/2004
Pra mim as permissões ficavam na tabela...
Como faço um login identificando o role ???
E outra... se eu tenho que citar o usuario e o role na aplicação, quando eu fazer uma alteração no banco eu sou obrigado a fazer a alteração na aplic tb ??
Se for assim o ib pecou feio.....
GOSTEI 0
Gandalf.nho
23/04/2004
Não, você atribui normalmente as permissões de cada objeto do banco ao role (e não ao usuário). Na conexão, você deve indicar, além do usuário, o role que ele irá usar. No caso do IBDatabase, o parâmetro para o role é
sql_role_name.
sql_role_name.
GOSTEI 0