Fórum Uso de Role (Papeis) #43857

23/04/2004

0

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 ?


Barcellosbh

Barcellosbh

Responder

Posts

23/04/2004

Gandalf.nho

Você está indicando o role na string de conexão ao banco?


Responder

Gostei + 0

23/04/2004

Barcellosbh

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 ???


Responder

Gostei + 0

23/04/2004

Gandalf.nho

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.


Responder

Gostei + 0

23/04/2004

Barcellosbh

Pra mim as permissões ficavam na tabela...
Como faço um login identificando o role ???


Responder

Gostei + 0

23/04/2004

Barcellosbh

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.....


Responder

Gostei + 0

26/04/2004

Gandalf.nho

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar