Re: [pgbr-geral] Sistema de Login para site de Intranet

2010-03-21 Por tôpico Wolak Sistemas - Fabiano Machado Dias
M

tiago gomes tiagotecno...@gmail.com escreveu:

Obrigado Vinicius P., José C., Tiago A., Andre F. e JotaC., valeu pela
ajuda, não sabia que este fórum era tão sério e que os usuários fossem tão
interessados à divulgar o postgres.

Bom alguns me perguntaram como seria este site que quero fazer, pois bem ele
é assim:
*

*É um site intranet com controle de acesso de usuários de internet via
rádio. (Com aproximadamente 290 usuários)

*Terá somente 2 níveis de acesso (Admin e Usuario) no qual o Admin poderá
cadastrar, excluir e editar novos Usuários.

*Os Usuários terão acesso à net mas poderão ser bloqueados pelo número MAC
ou IP.

*Cada vez que o usuário se logar um relatório será criado mostrando a hora e
data que se logou, o n° MAC ou IP, talvez a hora que efetuou logout, e claro
o nome do usuário que se logou.

*Ao estar logado, o usuário terá uma mensagem de boas vindas com seu nome, a
hora e data. (ex: Bom Dia José, 05-11-2009)

* O Usuário terá a Opção de fazer a mudança de senha e login.

*( E o que eu acho mais dificil) O Administrador poderá enviar mensagens
para um usuário em especial.(Como um popup (para informar pendências de
pagamento ou datas comemorativas)

* O Administrador poderá bloquear o acesso de algum Usuário.*

**O Usuário Só poderá ter acesso à internet se estiver logado. (Este item
não é tão importante no meu caso)*







Em 20 de março de 2010 16:15, JotaComm jota.c...@gmail.com escreveu:

 Olá,

 Em 20 de março de 2010 01:26, tiago gomes tiagotecno...@gmail.comescreveu:

 Olá pessoal,


 Sou novo no Postgres e quero saber como se faz um sistema de login com
 níveis de acesso para um site intranet.


 Bem vindo ao PostgreSQL, você não vai se arrepender :)

 Sob o meu ponto de vista, o sistema de login e controle de acesso depende
 muito de qual é a regra de negócios e o que vai estar envolvido. Os usuários
 do sistema estarão mapeados em alguma tabela de usuário do banco? Vai ser um
 usuário padrão para todos os usuários? Os usuários terão níveis de permissão
 diferentes? Existe algum grupo de usuários que terão certos privilégios?

 Deixo a dica de não usar um superusuário para fazer as conexões entre o BD
 e a aplicação, use sempre um usuário regular (usuário que não é um
 superusuário).

 Também existe a questão se você vai deixar a regra de negócios dentro da
 aplicação ou dentro do BD? Acho que esta pergunta é interessante ser
 respondida já no começo, e sem meio termo, uma metade na aplicação e outra
 metade no BD.

 Você vai ter uma


 Eu sei faser em MySQL mas quero entrar no mundo Postgres.


 Desde já Obrigado.

 --
 tiagotecno...@globo.com
 Tiago Gomes de Oliveira
 Designer Gráfico
 (62)81252423
 Uruaçu - GO

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



 []s
 --
 JotaComm
 http://jotacomm.wordpress.com

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Tiago Gomes de Oliveira
Designer Gráfico
(62)81252423
Uruaçu - GO

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sistema de Login para site de Intranet

2010-03-20 Por tôpico José Carlos Messias
Seria algo assim:

select id, nome, cargo, array_to_string(array(select id_papel from
usuarios_papeis where id_usuario=u.id),':') as papeis
from usuarios u
where id=10

Em 20 de março de 2010 01:44, vinicius perroni vinicius...@gmail.com escreveu:
 Geralmente eu crio um esquema seguranca com três tabelas

 usuarios
 papeis
 usuarios_papeis


 usuarios com usuario senha mais outros campos dependendo do caso por
 ex. cargo data de nasc.
 Nos papeis eu cadastro uma string e o id do papel algo assim id_papel, papel
 Já na tabela usuarios_papeis eu cadastro cod_papel, cod_usuario

 Depois uso duas querys primeiro pego  o usuario e depois os papeis
 daquele usuario no trabalho um colega fez uma funçao que retorna
 varios campos em um ai n precisa da segunda query para os papeis é
 tipo retorna os papeis em um campo separado por ponto e virgula mas eu
 já n sei fazer hehehe

 Espero ter colaborado.

 Att,

 Vinicius Perroni
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sistema de Login para site de Intranet

2010-03-20 Por tôpico Tiago Adami
Em 20 de março de 2010 01:26, tiago gomes tiagotecno...@gmail.com escreveu:
 Olá pessoal,

 Sou novo no Postgres e quero saber como se faz um sistema de login com
 níveis de acesso para um site intranet.

 Eu sei faser em MySQL mas quero entrar no mundo Postgres.

A lógica do *negócio* (entenda aqui as estruturas de controle
necessárias ao funcionamento) não muda, seja qual for o banco de dados
que você utilize. Esta lógica fica dentro da sua aplicação ou site -
do programa, enfim.

Agora, se o que você deseja é criar um nível de segurança bem maior
criando um usuário de banco de dados para cada conta de usuário do seu
sistema, a implementação ficará bem maior e dependerá do uso de
comandos do PostgreSQL, bem como comandos SQL GRANT, REVOKE e outros.
No tocante à segurança da informação, talvez esta seja a implementação
mais segura possível, porém você precisaria catalogar todas as tabelas
do seu sistema e definir níveis de acesso conforme grupos ou outro
fator de agrupamento, para então aplicar as restrições de acesso
através do programa (mesmo porque manualmente isto seria extremamente
trabalhoso).

Como programador e analista já trabalhei em diversos projetos, e o que
eu mais vi foram usuários de banco para cada aplicação ou sistema que
faz o acesso ao banco de dados, e não um usuário para cada conta de
login. Apesar desta segunda abordagem não ser impossível, com certeza
é mais trabalhosa, e demanda muito projeto antes de começar a
implementação para evitar transtornos no futuro.

-- 
TIAGO J. ADAMI
http://www.adamiworks.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sistema de Login para site de Intranet

2010-03-20 Por tôpico Andre Fernandes
Em 20 de março de 2010 01:26, tiago gomes tiagotecno...@gmail.comescreveu:

 Olá pessoal,

 Sou novo no Postgres e quero saber como se faz um sistema de login com
 níveis de acesso para um site intranet.

 Eu sei faser em MySQL mas quero entrar no mundo Postgres.


 Conforme já foi mencionado anteriormente, a regra do negócio não se altera.


Como não informaste detalhes de sua implementação em MySQL, fica difícil
dizer qual a melhor forma de migrar a mesma para postgresql.

Vou falar de modelos de login que já usei e talvez sejam de alguma ajuda
para ti.

1) se tiveres o controle do que o usuário pode fazer pelo aplicativo (usando
o banco apenas para verificar a senha e o login), bastaria uma tabela de
login
Tabela: login
campos: login varchar(20) pk,
  senha varchar(32) ou bytea ou ... - depende de como guardarás
tua senha
  demais dados relativos a teu site... (email, nome, etc...)
2) se tiveres o controle do que o usuário pode fazer pelo grupo ao qual
ele pertence (ou papel, role), poderias ter duas ou três tabelas.
O modelo com duas tabelas é para o caso de um usuário somente poder
pertencer a um grupo
Tabela: grupo
campos: id serial pk,
  nome varchar(40)
Tabela: login
 campos: login varchar(20) pk,
  senha varchar(32) ou bytea ou ... - depende de como guardarás
tua senha
  grupo_id integer fk,
  demais dados relativos a teu site... (email, nome, etc...)

O modelo com três tabelas seria para o caso de teres a possibilidade de um
usuário pertencer a dois ou mais grupos (exemplo, usuário P é administrador
e também é vendedor). Neste caso precisas descobrir o que fazer quando
houver sobreposição de privilégios, se algum recurso é permitido para um
deles apenas (por exemplo, área de vendas é permitida ao vendedor mas não
para o administrador), precisas ver se teu sistema será otimista (dá a
permissão se pelo menos um deles tiver, no exemplo o usuário P veria) ou se
será pessimista (no exemplo, usuário P não veria).
Tabela: grupo
campos: id serial pk,
  nome varchar(40)
Tabela: login
 campos: login varchar(20) pk,
  senha varchar(32) ou bytea ou ... - depende de como guardarás
tua senha
  demais dados relativos a teu site... (email, nome, etc...)
Tabela: grupo_login
campos: grupo_id integer pk,
  login_login varchar(20) pk

3) se teu banco de dados também guardar as ações possíveis (recursos e ações
referentes a esses recursos), nesse caso precisarás de mais tabelas. Vou
mostrar apenas um modelo simplificado no qual cada usuário pertença a apenas
um grupo, podes expandir como desejares:
Tabela: grupo
campos: id serial pk,
  nome varchar(40)
Tabela: login
 campos: login varchar(20) pk,
  senha varchar(32) ou bytea ou ... - depende de como guardarás
tua senha
  grupo_id integer fk,
  demais dados relativos a teu site... (email, nome, etc...)
Tabela: recursos   -- nesta tabela terias, por exemplo, login, fóruns,
recursos humanos, etc...
campos:id serial,
 nome varchar(80)
Tabela: acoes   -- nesta tabela terias, por exemplo, leitura, escrita,
administração, etc... Sao as acoes associadas a um recurso
 campos: id serial,
   nome varchar(40)
Tabelas acoes_recursos_grupo   -- aqui da a cada grupo permissao a
uma acao em um determinado recurso do site, por exemplo, dar permissao de
alterar no recurso endereço de cliente para o administrador
 -- se nao houver
registro nesta tabela para uma associacao acoes recursos grupo,  entao não
tem permissão
campos: acoes_id integer pk
  recursos_id integer pk
  grupo_id  integer pk

 Nota, são exemplos de modelagens de login usando um banco de dados (tipos
são do postgreSQL, mas podem ser convertidos facilmente para outros bancos
de dados). Lembre-se há muitas formas de se fazer isso.

Atenciosamente,

Desde já Obrigado.

 --
 tiagotecno...@globo.com
 Tiago Gomes de Oliveira
 Designer Gráfico
 (62)81252423
 Uruaçu - GO

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sistema de Login para site de Intranet

2010-03-20 Por tôpico JotaComm
Olá,

Em 20 de março de 2010 01:26, tiago gomes tiagotecno...@gmail.comescreveu:

 Olá pessoal,

 Sou novo no Postgres e quero saber como se faz um sistema de login com
 níveis de acesso para um site intranet.


Bem vindo ao PostgreSQL, você não vai se arrepender :)

Sob o meu ponto de vista, o sistema de login e controle de acesso depende
muito de qual é a regra de negócios e o que vai estar envolvido. Os usuários
do sistema estarão mapeados em alguma tabela de usuário do banco? Vai ser um
usuário padrão para todos os usuários? Os usuários terão níveis de permissão
diferentes? Existe algum grupo de usuários que terão certos privilégios?

Deixo a dica de não usar um superusuário para fazer as conexões entre o BD e
a aplicação, use sempre um usuário regular (usuário que não é um
superusuário).

Também existe a questão se você vai deixar a regra de negócios dentro da
aplicação ou dentro do BD? Acho que esta pergunta é interessante ser
respondida já no começo, e sem meio termo, uma metade na aplicação e outra
metade no BD.

Você vai ter uma


 Eu sei faser em MySQL mas quero entrar no mundo Postgres.


 Desde já Obrigado.

 --
 tiagotecno...@globo.com
 Tiago Gomes de Oliveira
 Designer Gráfico
 (62)81252423
 Uruaçu - GO

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



[]s
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sistema de Login para site de Intranet

2010-03-20 Por tôpico tiago gomes
Obrigado Vinicius P., José C., Tiago A., Andre F. e JotaC., valeu pela
ajuda, não sabia que este fórum era tão sério e que os usuários fossem tão
interessados à divulgar o postgres.

Bom alguns me perguntaram como seria este site que quero fazer, pois bem ele
é assim:
*

*É um site intranet com controle de acesso de usuários de internet via
rádio. (Com aproximadamente 290 usuários)

*Terá somente 2 níveis de acesso (Admin e Usuario) no qual o Admin poderá
cadastrar, excluir e editar novos Usuários.

*Os Usuários terão acesso à net mas poderão ser bloqueados pelo número MAC
ou IP.

*Cada vez que o usuário se logar um relatório será criado mostrando a hora e
data que se logou, o n° MAC ou IP, talvez a hora que efetuou logout, e claro
o nome do usuário que se logou.

*Ao estar logado, o usuário terá uma mensagem de boas vindas com seu nome, a
hora e data. (ex: Bom Dia José, 05-11-2009)

* O Usuário terá a Opção de fazer a mudança de senha e login.

*( E o que eu acho mais dificil) O Administrador poderá enviar mensagens
para um usuário em especial.(Como um popup (para informar pendências de
pagamento ou datas comemorativas)

* O Administrador poderá bloquear o acesso de algum Usuário.*

**O Usuário Só poderá ter acesso à internet se estiver logado. (Este item
não é tão importante no meu caso)*







Em 20 de março de 2010 16:15, JotaComm jota.c...@gmail.com escreveu:

 Olá,

 Em 20 de março de 2010 01:26, tiago gomes tiagotecno...@gmail.comescreveu:

 Olá pessoal,


 Sou novo no Postgres e quero saber como se faz um sistema de login com
 níveis de acesso para um site intranet.


 Bem vindo ao PostgreSQL, você não vai se arrepender :)

 Sob o meu ponto de vista, o sistema de login e controle de acesso depende
 muito de qual é a regra de negócios e o que vai estar envolvido. Os usuários
 do sistema estarão mapeados em alguma tabela de usuário do banco? Vai ser um
 usuário padrão para todos os usuários? Os usuários terão níveis de permissão
 diferentes? Existe algum grupo de usuários que terão certos privilégios?

 Deixo a dica de não usar um superusuário para fazer as conexões entre o BD
 e a aplicação, use sempre um usuário regular (usuário que não é um
 superusuário).

 Também existe a questão se você vai deixar a regra de negócios dentro da
 aplicação ou dentro do BD? Acho que esta pergunta é interessante ser
 respondida já no começo, e sem meio termo, uma metade na aplicação e outra
 metade no BD.

 Você vai ter uma


 Eu sei faser em MySQL mas quero entrar no mundo Postgres.


 Desde já Obrigado.

 --
 tiagotecno...@globo.com
 Tiago Gomes de Oliveira
 Designer Gráfico
 (62)81252423
 Uruaçu - GO

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



 []s
 --
 JotaComm
 http://jotacomm.wordpress.com

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Tiago Gomes de Oliveira
Designer Gráfico
(62)81252423
Uruaçu - GO
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Sistema de Login para site de Intranet

2010-03-19 Por tôpico tiago gomes
Olá pessoal,

Sou novo no Postgres e quero saber como se faz um sistema de login com
níveis de acesso para um site intranet.

Eu sei faser em MySQL mas quero entrar no mundo Postgres.


Desde já Obrigado.

-- 
tiagotecno...@globo.com
Tiago Gomes de Oliveira
Designer Gráfico
(62)81252423
Uruaçu - GO
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sistema de Login para site de Intranet

2010-03-19 Por tôpico vinicius perroni
Geralmente eu crio um esquema seguranca com três tabelas

usuarios
papeis
usuarios_papeis


usuarios com usuario senha mais outros campos dependendo do caso por
ex. cargo data de nasc.
Nos papeis eu cadastro uma string e o id do papel algo assim id_papel, papel
Já na tabela usuarios_papeis eu cadastro cod_papel, cod_usuario

Depois uso duas querys primeiro pego  o usuario e depois os papeis
daquele usuario no trabalho um colega fez uma funçao que retorna
varios campos em um ai n precisa da segunda query para os papeis é
tipo retorna os papeis em um campo separado por ponto e virgula mas eu
já n sei fazer hehehe

Espero ter colaborado.

Att,

Vinicius Perroni
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral