Oi pessoal...
qual é a melhor maneira de implementar e como implementar, uma página de login que seja segura?.....
Criptografia... https....
Alguém sabe me indicar um bom material?
Login Seguro
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
não é bem o que você quer.. este material é bem abrangente
http://blogs.oracle.com/schan/newsItems ... s/security
https..
http://www.javafree.org/javabb/viewtopic.jbb?t=837
te falar...
o que você quer realmente ??
porque https ?
http://blogs.oracle.com/schan/newsItems ... s/security
https..
http://www.javafree.org/javabb/viewtopic.jbb?t=837
te falar...
o que você quer realmente ??
porque https ?
-
- Rank: Programador Sênior
- Mensagens: 69
- Registrado em: Sex, 08 Fev 2008 11:20 am
- Localização: São Paulo - SP
Bom na verdade.. não precisa ser https... foi só uma hipótese...
Eu preciso fazer uma tela de login... mas eu não quero que a senha fique trafegando livremente... e eu queria saber qual é a melhor forma de fazer isso....
Eu preciso fazer uma tela de login... mas eu não quero que a senha fique trafegando livremente... e eu queria saber qual é a melhor forma de fazer isso....
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
agora sim
existe uma coisa chamada REALM.. is the best pratice
http://www.oracle.com/technology/tech/j ... -JAAS.html
+ou- ... você vai ter uma tabela de usuarios, vai mapea-la no teu web.xml junto com um filtro do realm, dai ele faz tudo pra você ... kkkk.. vai autenticar o teu usuario ( de forma criptografada ), joga-lo na sessão e te disponibilisar um session.getUserData() pra você usar onde quiser
sacou ?!?!?!
good luck
PS.: Depois quero ver um turotial seu postado aqui no site sobre isso.. Realm no OC4J... posso esperar ?
existe uma coisa chamada REALM.. is the best pratice
http://www.oracle.com/technology/tech/j ... -JAAS.html
+ou- ... você vai ter uma tabela de usuarios, vai mapea-la no teu web.xml junto com um filtro do realm, dai ele faz tudo pra você ... kkkk.. vai autenticar o teu usuario ( de forma criptografada ), joga-lo na sessão e te disponibilisar um session.getUserData() pra você usar onde quiser
sacou ?!?!?!
good luck
PS.: Depois quero ver um turotial seu postado aqui no site sobre isso.. Realm no OC4J... posso esperar ?
-
- Rank: Programador Sênior
- Mensagens: 69
- Registrado em: Sex, 08 Fev 2008 11:20 am
- Localização: São Paulo - SP
Humm...
Vou estudar mais então;;;
Agora ando meio sem tempo.. e preciso resolver algumas coisas antes,,,, mas pode deixar... com certeza vou estuda-lo .. e se eu conseguir fazer bunitinhu .. eu monto um tutorial sim ...
Vou estudar mais então;;;
Agora ando meio sem tempo.. e preciso resolver algumas coisas antes,,,, mas pode deixar... com certeza vou estuda-lo .. e se eu conseguir fazer bunitinhu .. eu monto um tutorial sim ...
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
então Mick...
eu te dei a best pratice porem se você quiser algo mais urgente fala ai q eu tento te dar uma ideia pra resolver teu problema de imediato
no meu tcc eu fiz algo bem simples.. implementando uma tela de login e colocando um objeto no contexto, apos ter consultado ele no banco e validado porem não tinha criptografia ne
em fim
qualquer coisa estamos ai
eu te dei a best pratice porem se você quiser algo mais urgente fala ai q eu tento te dar uma ideia pra resolver teu problema de imediato
no meu tcc eu fiz algo bem simples.. implementando uma tela de login e colocando um objeto no contexto, apos ter consultado ele no banco e validado porem não tinha criptografia ne
em fim
qualquer coisa estamos ai
-
- Rank: Programador Sênior
- Mensagens: 69
- Registrado em: Sex, 08 Fev 2008 11:20 am
- Localização: São Paulo - SP
Bom é assim...
eu estou com dois projetos... um é mais simples.. e é o que q eu estou com mais urgência... ele tem no máximo umas 10 páginas.... e com eu não tenho muito tempo.. eu fiz uma coisa bem manual mesmo... não sei se é a forma mais correta... mas coloquei um scriplet nas páginas pra verificar se a sessão havia sido iniciada....e como eu fiz um cadastro de usuário e senha.. antes da senha ir pro banco ,eu criptografo ela com um algoritmo "SHA - 1" :
Daí quando o usuário digitar a senha.. eu criptografo ela.. e comparo....
Já um outro projeto... é bem maior.. e a longo prazo... então acho que vai dar tempo de eu dar uma estudada melhor no realm... que você me sugeriu..
eu estou com dois projetos... um é mais simples.. e é o que q eu estou com mais urgência... ele tem no máximo umas 10 páginas.... e com eu não tenho muito tempo.. eu fiz uma coisa bem manual mesmo... não sei se é a forma mais correta... mas coloquei um scriplet nas páginas pra verificar se a sessão havia sido iniciada....e como eu fiz um cadastro de usuário e senha.. antes da senha ir pro banco ,eu criptografo ela com um algoritmo "SHA - 1" :
MessageDigest md = MessageDigest.getInstance("SHA-1");
BigInteger hash = new BigInteger(1, md.digest(password.getBytes("UTF-8")));
String password3 = hash.toString(16);
Já um outro projeto... é bem maior.. e a longo prazo... então acho que vai dar tempo de eu dar uma estudada melhor no realm... que você me sugeriu..
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
scriptlet e uma coisa mta 'feia' ... kkkk
mas confesso que já resolvi problemas com ele tambem
em fim ... tem hora q a elegancia deve ser deixado de lado pois fazer funcionar é o q realmente interessa
mas confesso que já resolvi problemas com ele tambem
em fim ... tem hora q a elegancia deve ser deixado de lado pois fazer funcionar é o q realmente interessa
-
- Rank: Programador Sênior
- Mensagens: 69
- Registrado em: Sex, 08 Fev 2008 11:20 am
- Localização: São Paulo - SP
Oi Vitor....
I need your help again!!... hehe..
Não estou conseguindo entender como funciona esse realm...
até achei um artigo que parece ser o que eu preciso:
http://technology.amis.nl/blog/?p=1462
mas não estou conseguindo entender qual é o ponto em que há a união entre os usuário que estão lá na minha tabela no banco e a aplicação... Eu vi que no jdeveloper tem uma opção em:
Tools--> ADF Security Wizard....
que eu defino todas estas questões... mas até agora eu não entendi como ele faz pra autenticar... ou seja .. como eu pego o usuário e a senha que estão lá no banco e informo para a aplicação... ??
valeu...
I need your help again!!... hehe..
Não estou conseguindo entender como funciona esse realm...
até achei um artigo que parece ser o que eu preciso:
http://technology.amis.nl/blog/?p=1462
mas não estou conseguindo entender qual é o ponto em que há a união entre os usuário que estão lá na minha tabela no banco e a aplicação... Eu vi que no jdeveloper tem uma opção em:
Tools--> ADF Security Wizard....
que eu defino todas estas questões... mas até agora eu não entendi como ele faz pra autenticar... ou seja .. como eu pego o usuário e a senha que estão lá no banco e informo para a aplicação... ??
valeu...
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
bom... aqui nos fazemos o seguinte..
temos o SecurityFilter.java que faz a validação de login
temos um arquivo chamado security-mapping.xml que mapeia todas as funçoes do banco que verificam as permissões dos usuarios e tambem as responsabilityKey definidas no EBS
e no web.xml alem de registrar o filtro definimos as configurações para teste local (maquina do desenv)
temos o SecurityFilter.java que faz a validação de login
temos um arquivo chamado security-mapping.xml que mapeia todas as funçoes do banco que verificam as permissões dos usuarios e tambem as responsabilityKey definidas no EBS
e no web.xml alem de registrar o filtro definimos as configurações para teste local (maquina do desenv)
<!-- registrar o filtro de seguranca -->
<filter>
<filter-name>Security Filter</filter-name>
<filter-class>br.com.br.shared.security.view.servlet.SecurityFilter</filter-class>
<init-param>
<param-name>securityManager.datasourceName</param-name>
<param-value>java:comp/env/jdbc/SecurityManagerDS</param-value>
</init-param>
<init-param>
<param-name>securityManager.mappingResource</param-name>
<param-value>br/com/br/shared/security/security-mapping.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Security Filter</filter-name>
<url-pattern>*.jsp</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<!-- configuracao para teste local – INICIO -->
<!-- não deve existir no OC4J com SSO -->
<security-constraint>
<web-resource-collection>
<web-resource-name>all</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>admin</role-name>
</security-role>
<!-- configuracao para teste local – FIM -->
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
olha o que eu achei... vê se da pra te ajudar
http://www.javaworld.com/javaforums/sho ... ed&sb=5&o=
http://www.javaworld.com/javaforums/sho ... ed&sb=5&o=
-
- Rank: Programador Sênior
- Mensagens: 69
- Registrado em: Sex, 08 Fev 2008 11:20 am
- Localização: São Paulo - SP
Victor... eu não sei se estou no caminho certo..!!!
me corrija se eu eestiver errada!!!...
Eu editei o aqruivo 'login-config.xml' do jdeveloper e adicionei uma 'application-policy', tal qual está no exemplo do link que você me passou..
Mas pelo que eu entendi... eu preciso fazer um 'LoginModule', e referenciar esta 'policy' através de um 'LoginContext'... certo?...
e aí ?.. como faço pra referenciar esta policy dentro do jdeveloper?...
Me corrija se eu tiver no caminho errado!!
e mais uma vez valeu.. pela atenção e pela paciência!!
me corrija se eu eestiver errada!!!...
Eu editei o aqruivo 'login-config.xml' do jdeveloper e adicionei uma 'application-policy', tal qual está no exemplo do link que você me passou..
</application-policy>
<application-policy name="example">
<authentication>
<login-module code="org.jboss.security.ClientLoginModule" flag="required">
</login-module>
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule"
flag="required">
<module-option name="managedConnectionFactoryName">
jboss.jca:service=LocalTxCM,name=SybaseDB
</module-option>
<module-option name="dsJndiName">
java:/SybaseDB
</module-option>
<module-option name="principalsQuery">
Select senha from login where login =?
</module-option>
<module-option name="rolesQuery">
Select Role 'Roles', RoleGroup 'RoleGroups' from Roles where PrincipalID =?
</module-option>
</login-module>
</authentication>
</application-policy>
e aí ?.. como faço pra referenciar esta policy dentro do jdeveloper?...
Me corrija se eu tiver no caminho errado!!
e mais uma vez valeu.. pela atenção e pela paciência!!
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
3. jboss-web.xml
Create a file jboss-web.xml and place the following code
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<security-domain>java:/jaas/example2</security-domain>
</jboss-web>
example2 is the name of the security domain which we specified in application policy of login-config.xml
Copy this file in your applications WEB-INF folder
o artigo e para jboss e você usa o oc4j ne...
sinceramente não sei como você vai fazer isso não..
aqui nos usamos o filtro como falei acima
boa sorte
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 15 visitantes