[firebase-br] Usuários FB3

Carlos H. Cantu listas em warmboot.com.br
Qui Nov 23 09:08:47 -03 2017


Renan,

O Legacy_UserManager replica exatamente o comportamento pré-firebird3,
onde as tabelas de usuários, etc. já existiam no "securityx.fdb", por
isso ele não cria as tabelas/views necessárias.

Novos plugins, como o SRP, já criam essas tabelas/views nas bases de
dados automaticamente, por isso não é necessário fazê-lo manualmente.
Criar as tabelas manualmente pode funcionar, mas não sei dizer se
haveria efeitos colaterais.

Quanto ao problema de não conseguir conectar com SRP, entendo que isso
não deveria acontecer, se o "ambiente" estiver configurado
corretamente, e a aplicação estiver usando o fbclient do Firebird 3.

[]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

RRP> Obrigado pela resposta Cantu.


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


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


RRP> Abraço,Renan Rogowski Pozzo


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


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

RRP> Não recomendo esse procedimento, pois parece ser uma "gambiarra" com
RRP>  consequências imprevistas. Conforme eu descrevi no email anterior,
RRP>  acredito que o problema tenha sido usar o Legacy_UserManager com uma
RRP>  configuração que força o usuário a ser criado em uma base local. Nesse
RRP>  caso, o correto é usar o Srp, e não será necessário criar qualquer
RRP>  tabela manualmente.

RRP>  []s
RRP>  Carlos H. Cantu
RRP>  eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
RRP> 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



RRP>  ______________________________________________
RRP>  FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
RRP>  Para saber como gerenciar/excluir seu cadastro na lista, use:
RRP> http://www.firebase.com.br/fb/artigo.php?id=1107
RRP>  Para consultar mensagens antigas:
RRP> http://www.firebase.com.br/pesquisa_lista.html






Mais detalhes sobre a lista de discussão lista