[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