Problemas com Role na inserção de um user

Firebird

19/04/2005

Quando eu incluo um user com o SYSDBA, o usuario eh inserdo e as permissões tb, na mais perfeita harmonia, mas se eu usar um usuario cadastro ele dah esse erro e simplesmente naum sei uma solução logica pra ele:


e o codigo de inserção q uso eh esse:

     with IBusers do
     begin
          Active := true;
          try
             UserName := Eusuario.Text;
             FirstName := Enome.Text;
             Password := Esenha.Text;
             AddUser;
             TRusuario.StartTransaction;
             with IBScript do
             begin
                  Script.Clear;
                  Script.add(´GRANT TOTAL TO ´ + Eusuario.Text);
                  ExecuteScript;
             end;
             TRusuario.Commit;
             Incluir := true;
          finally
                 Active := false;
          end;
     end;



Zunker

Zunker

Curtidas 0

Respostas

Edilcimar

Edilcimar

19/04/2005

não seria grant all to


GOSTEI 0
Zunker

Zunker

19/04/2005

TOTAL eh o role q criei q tem as permissões...xD


GOSTEI 0
Gandalf.nho

Gandalf.nho

19/04/2005

Tá tão pequena a imagem que nem dá pra ler a mensagem de erro.


GOSTEI 0
Zunker

Zunker

19/04/2005

Coloquei a imagem sem link :roll:

[URL=http://img245.echo.cx/my.php?image=problema9tz.jpg][img:86952f6ae1]http://img245.echo.cx/img245/2559/problema9tz.th.jpg[/img:86952f6ae1][/URL]


GOSTEI 0
Gandalf.nho

Gandalf.nho

19/04/2005

O usuário que vc está usando para criar o novo usuário e dar permissões não tem permissão para atribuir permissões em relação a esse role. (WITH GRANT OPTION)


GOSTEI 0
Zunker

Zunker

19/04/2005

Mas se eu coloco assim dah erro de sql:

Script.add(´GRANT TOTAL TO ´ + Eusuario.Text + ´ WITH GRANT OPTION´);


GOSTEI 0
Gandalf.nho

Gandalf.nho

19/04/2005

O problema é que o usuário que vc está usando para se logar ao banco não tem permissões para atribuir permissões. Vc precisa se logar com um usuário que tenha permissão para isso, como o proprietário do banco ou outro usuário que tenha recebido permissão;


GOSTEI 0
Zunker

Zunker

19/04/2005

Mas nesse kaso eu loguei com o SYSDBA e deu esse erro de qualquer maneira....xD


GOSTEI 0
Gandalf.nho

Gandalf.nho

19/04/2005

Tente usar o usuário dono do banco e veja se funciona (tire o trecho do WITH GRANT OPTION)


GOSTEI 0
Zunker

Zunker

19/04/2005

Tente usar o usuário dono do banco e veja se funciona (tire o trecho do WITH GRANT OPTION)


Se eu logar com o SYSDBA e tirar esse ´WITH GRANT OPTION´, funciona mas somente com ele, o q eu preciso msm eh q eu possa criar usuarios, logado com qualquer usuario (naum necessariamente o dono do banco q nesse caso eh o SYSDBA)....xD


GOSTEI 0
Gandalf.nho

Gandalf.nho

19/04/2005

O problema é que somente o dono do banco ou usuários com GRANT OPTION no objeto desejado podem dar permissões para outros usuários. Se não fosse assim, seria moleza burlar as defesas do banco, bastaria criar um usuário e atribuí-lo a um role com acesso total. Vc poderia tentar criar uma espécie de usuário ´administrador´ do sistema e dar permissões para que ele possa atribuir novos usuários a role desejada.


GOSTEI 0
Zunker

Zunker

19/04/2005

Vlw pelas dicas....xD


GOSTEI 0
POSTAR