[firebase-br] Usuários FB3

Renan Rogowski Pozzo renanrpozzo em gmail.com
Qui Nov 23 08:14:13 -03 2017


Obrigado pela resposta Cantu.

Estou precisando criar um usuário com autenticação legada, pois temos uma
aplicação web que não está conseguindo conectar com o usuário Srp.

Pelo que entendi, qualquer base tem a estrutura para receber os usuários,
com gerenciamento Srp ou Legacy. Nesse caso então Cantu, se eu precisar
usar um usuário com Legacy_UserManager, apenas utilizando a base de
segurança padrão (security3.fdb) ?

Abraço,
Renan Rogowski Pozzo

*"E a paz de Deus, que excede todo o entendimento, guardará os vossos
corações e os vossos pensamentos em Cristo Jesus." Filipenses 4.7*

Em 22 de novembro de 2017 21:41, Carlos H. Cantu <listas em warmboot.com.br>
escreveu:

> Não recomendo esse procedimento, pois parece ser uma "gambiarra" com
> consequências imprevistas. Conforme eu descrevi no email anterior,
> acredito que o problema tenha sido usar o Legacy_UserManager com uma
> configuração que força o usuário a ser criado em uma base local. Nesse
> caso, o correto é usar o Srp, e não será necessário criar qualquer
> tabela manualmente.
>
> []s
> Carlos H. Cantu
> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>
> LM> Boa Tarde. Fiz um teste aqui e percebi que as tabelas do sistema onde
> ficam
> LM> gravados os usuários não são criados automaticamente.
> LM> Eu copiei a metadata das tabelas e criei na base destino, dai deu
> certo.
>
> LM> São 2 dominios,
> LM> 2 tabelas
> LM> e 2 views.
>
> LM> Feito isso, pra mim funcionou, criei um novo usuário e ele ficou na
> base
> LM> que defini no firebird.conf
>
> LM> o script seria esse:
> LM> CREATE DOMAIN PLG$ID AS INTEGER;
> LM> CREATE DOMAIN PLG$PASSWD AS VARCHAR(64) CHARACTER SET OCTETS COLLATE
> OCTETS;
>
> LM> CREATE TABLE PLG$SRP (
> LM>     PLG$USER_NAME   SEC$USER_NAME NOT NULL /* SEC$USER_NAME =
> VARCHAR(31)
> LM> NOT NULL */,
> LM>     PLG$VERIFIER    VARCHAR(128) CHARACTER SET OCTETS NOT NULL,
> LM>     PLG$SALT        VARCHAR(32) CHARACTER SET OCTETS NOT NULL,
> LM>     PLG$COMMENT     BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET
> LM> UNICODE_FSS,
> LM>     PLG$FIRST       SEC$NAME_PART /* SEC$NAME_PART = VARCHAR(32) NOT
> NULL
> LM> */,
> LM>     PLG$MIDDLE      SEC$NAME_PART /* SEC$NAME_PART = VARCHAR(32) NOT
> NULL
> LM> */,
> LM>     PLG$LAST        SEC$NAME_PART /* SEC$NAME_PART = VARCHAR(32) NOT
> NULL
> LM> */,
> LM>     PLG$ATTRIBUTES  BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET
> LM> UNICODE_FSS,
> LM>     PLG$ACTIVE      BOOLEAN
> LM> );
>
> LM> ALTER TABLE PLG$SRP ADD PRIMARY KEY (PLG$USER_NAME);
>
>
> LM> CREATE TABLE PLG$USERS (
> LM>     PLG$USER_NAME    SEC$USER_NAME NOT NULL /* SEC$USER_NAME =
> VARCHAR(31)
> LM> NOT NULL */,
> LM>     PLG$GROUP_NAME   SEC$USER_NAME /* SEC$USER_NAME = VARCHAR(31) NOT
> NULL
> LM> */,
> LM>     PLG$UID          PLG$ID /* PLG$ID = INTEGER */,
> LM>     PLG$GID          PLG$ID /* PLG$ID = INTEGER */,
> LM>     PLG$PASSWD       PLG$PASSWD NOT NULL /* PLG$PASSWD = VARCHAR(64)
> */,
> LM>     PLG$COMMENT      BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET
> LM> UNICODE_FSS,
> LM>     PLG$FIRST_NAME   SEC$NAME_PART /* SEC$NAME_PART = VARCHAR(32) NOT
> NULL
> LM> */,
> LM>     PLG$MIDDLE_NAME  SEC$NAME_PART /* SEC$NAME_PART = VARCHAR(32) NOT
> NULL
> LM> */,
> LM>     PLG$LAST_NAME    SEC$NAME_PART /* SEC$NAME_PART = VARCHAR(32) NOT
> NULL
> LM> */
> LM> );
>
> LM> ALTER TABLE PLG$USERS ADD PRIMARY KEY (PLG$USER_NAME);
>
> LM> CREATE OR ALTER VIEW PLG$SRP_VIEW(
> LM>     PLG$USER_NAME,
> LM>     PLG$VERIFIER,
> LM>     PLG$SALT,
> LM>     PLG$COMMENT,
> LM>     PLG$FIRST,
> LM>     PLG$MIDDLE,
> LM>     PLG$LAST,
> LM>     PLG$ATTRIBUTES,
> LM>     PLG$ACTIVE)
> LM> AS
> LM> SELECT PLG$USER_NAME, PLG$VERIFIER, PLG$SALT, PLG$COMMENT,
> PLG$FIRST,
> LM> PLG$MIDDLE, PLG$LAST, PLG$ATTRIBUTES, PLG$ACTIVE FROM PLG$SRP WHERE
> LM> CURRENT_USER = 'SYSDBA'    OR CURRENT_ROLE = 'RDB$ADMIN' OR
> CURRENT_USER =
> LM> PLG$SRP.PLG$USER_NAME
> LM> ;
>
> LM> CREATE OR ALTER VIEW PLG$VIEW_USERS(
> LM>     PLG$USER_NAME,
> LM>     PLG$GROUP_NAME,
> LM>     PLG$UID,
> LM>     PLG$GID,
> LM>     PLG$PASSWD,
> LM>     PLG$COMMENT,
> LM>     PLG$FIRST_NAME,
> LM>     PLG$MIDDLE_NAME,
> LM>     PLG$LAST_NAME)
> LM> AS
> LM> SELECT PLG$USER_NAME, PLG$GROUP_NAME, PLG$UID, PLG$GID, PLG$PASSWD,
> LM>         PLG$COMMENT, PLG$FIRST_NAME, PLG$MIDDLE_NAME, PLG$LAST_NAME
> LM>     FROM PLG$USERS
> LM>     WHERE CURRENT_USER = 'SYSDBA'
> LM>        OR CURRENT_ROLE = 'RDB$ADMIN'
> LM>        OR CURRENT_USER = PLG$USERS.PLG$USER_NAME
> LM> ;
>
>
>
>
>
>
> LM> *Leonardo Mees.*
> LM> Itapiranga, SC
>
>
>
> LM> Em 22 de novembro de 2017 14:52, Renan Rogowski Pozzo <
> renanrpozzo em gmail.com
> >> escreveu:
>
> >> Boa tarde.
> >> Estou tendo uma dificuldade ao criar um usuário no FB 3 e gostaria da
> ajuda
> >> dos colegas.
> >>
> >> Tenho meu "*firebird.conf*" configurado dessa forma:
> >> AuthServer = Srp, Win_Sspi, Legacy_Auth
> >> AuthClient = Srp, Win_Sspi, Legacy_Auth
> >> UserManager = Srp, Legacy_UserManager
> >>
> >> No "*databases.conf*" está assim:
> >> base_db = C:\Program Files\Base\BASE.FDB
> >> {
> >> SecurityDatabase = base_db
> >> }
> >>
> >> Ou seja, quero salvar os usuários na própria base.
> >>
> >> *Versão do FB* instalada: 3.0.2.32703 - x64
> >>
> >> Criei o SYSDBA pelo "isql" e funcionou. Porém quando tentei criar um
> novo
> >> usuário passando o PLUGIN Legacy_UserManager recebi um retorno de erro:
> >>
> >> *SQL>* create user teste password 'teste' using plugin
> Legacy_UserManager;
> >> Statement failed, SQLSTATE = 42S02
> >> add record error
> >> -table PLG$VIEW_USERS is not defined
> >>
> >> Efetuei o mesmo procedimento na base de usuários padrão (security3.fdb)
> e
> >> funcionou.
> >>
> >> Alguém já passou por isso? Ou tem alguma sugestão do que eu posso fazer?
> >>
> >> Obrigado.
> >> Renan Rogowski Pozzo
> >>
> >> *"E a paz de Deus, que excede todo o entendimento, guardará os vossos
> >> corações e os vossos pensamentos em Cristo Jesus." Filipenses 4.7*
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> http://www.firebase.com.br/fb/artigo.php?id=1107
> >> Para consultar mensagens antigas: http://www.firebase.com.br/
> >> pesquisa_lista.html
> >>
> LM> ______________________________________________
> LM> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> LM> Para saber como gerenciar/excluir seu cadastro na lista, use:
> LM> http://www.firebase.com.br/fb/artigo.php?id=1107
> LM> Para consultar mensagens antigas:
> LM> http://www.firebase.com.br/pesquisa_lista.html
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://www.firebase.com.br/
> pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista