Problemas com Role na inserção de um user
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:
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
Curtidas 0
Respostas
Edilcimar
19/04/2005
não seria grant all to
GOSTEI 0
Zunker
19/04/2005
TOTAL eh o role q criei q tem as permissões...xD
GOSTEI 0
Gandalf.nho
19/04/2005
Tá tão pequena a imagem que nem dá pra ler a mensagem de erro.
GOSTEI 0
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]
[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
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
19/04/2005
Mas se eu coloco assim dah erro de sql:
Script.add(´GRANT TOTAL TO ´ + Eusuario.Text + ´ WITH GRANT OPTION´);
Script.add(´GRANT TOTAL TO ´ + Eusuario.Text + ´ WITH GRANT OPTION´);
GOSTEI 0
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
19/04/2005
Mas nesse kaso eu loguei com o SYSDBA e deu esse erro de qualquer maneira....xD
GOSTEI 0
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
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
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
19/04/2005
Vlw pelas dicas....xD
GOSTEI 0