Disseram-me que é possível criar um aplicativo Web que não exija login. O usuário efetua login no Windows, que é autenticado por meio de uma pesquisa do Active Directory (LDAP). Em seguida, eles devem poder acessar meu aplicativo da web e nunca ver um prompt de login. Esses clientes estão se referindo a isso como Logon único (talvez incorretamente e parte da minha confusão).
Mas, pelo que li o Logon único nos documentos do Tomcat, é:
A Válvula de Logon Único é utilizada quando você deseja oferecer aos usuários a capacidade de conectar-se a qualquer um dos aplicativos Web associados ao seu host virtual e, em seguida, ter sua identidade reconhecida por todos os outros aplicativos Web no mesmo host virtual.
Isso está perfeitamente claro para mim. O usuário precisa fazer login uma vez e pode acessar todos os aplicativos da web em uma instância do tomcat. Mas o que preciso fazer é, de alguma forma, permitir que eles entrem sem fornecer credenciais ao meu servidor tomcat.
Então, para que isso funcione, imagino:
- Usuário faz solicitação para alguma página
- O servidor não vê nenhum token de sessão e solicita ao cliente algumas credenciais.
- O navegador do cliente sem nenhuma intervenção do usuário fornece algumas credenciais ao servidor.
- Em seguida, usando essas credenciais fornecidas pelo navegador do cliente, ele faz uma pesquisa em um LDAP.
Eu já vi alguns exemplos que usam certificados do lado do cliente ... particularmente o sistema DoD PKI que faz algum sentido para mim, porque nesses casos você configura o Tomcat para solicitar certs do lado do cliente , mas apenas acessando janelas, não vejo como isso funcionaria e quais informações o navegador passaria para o servidor etc. É para isso que o NTLM é usado?