Pergunta

Estou escrevendo um aplicativo Java que precisa executar um procedimento de login incomum. Um dos meus problemas é que o usuário precisa fornecer mais do que uma simples combinação de nome de usuário/senha. Especificamente, é necessária uma combinação de nome de usuário/senha/domínio.

Outro problema é que meu aplicativo aplica algumas regras de vida útil da senha (por exemplo: uma senha se torna inválida após 90 dias). O servidor de autenticação que eu uso recusará a autenticação quando uma senha expirou e força o usuário a escolher uma nova. Portanto, meu processo de login deve ser capaz de lidar com isso.

Infelizmente, o padrão j_security_check padrão não me permite fazer nada disso. Existe alguma maneira de criar um procedimento de login personalizado e seguro para um aplicativo da Web Java.

NOTA: O problema de fornecer o domínio pode ser contado com os usuários inserindo o nome de usuário domínio em vez de apenas o nome de usuário no campo j_username e depois deixar um reino personalizado decodificar isso. No entanto, isso é um pouco agitado e não resolve o segundo problema de qualquer maneira.

Foi útil?

Solução

A interface de segurança JAAS permite criar um módulo de login personalizado. Este módulo de lobby permitirá que você tenha qualquer verificação de segurança que desejar. Eu sugiro que você olhe para as informações sobre Jaas. 0

Aqui estão alguns dos links que usei para ajudar a entender o JAAS:

http://www.owasp.org/index.php/jaas_tomcat_login_module

http://www.javaworld.com/jw-09-2002/jw-0913-jaas.html

http://www.jaasbook.com/

http://roneiv.wordpress.com/2008/02/18/jaas-authentication-mechanism-is-it-itossible-to-force-j_security_check-to-go-to-a-specific-page/

Também dê uma olhada no Apache Tomcat Realms Configuration como fazer:

http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html

Outras dicas

você está considerando Segurança da primavera? Esses são algumas sugestões sobre a expiração de senha.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top