Maneira rápida de proteger com senha o Tomcat?

1

Estou procurando uma maneira rápida de proteger uma instância do Tomcat e todos os aplicativos da Web executados nela, para que o acesso a qualquer página exija credenciais (nome de usuário / senha simples).

Eu acho que Reino é a maneira "correta" de fazer isso, mas não parece muito simples de configurar. Preferiríamos uma maneira em que você não precisasse alterar as próprias páginas da Web. Alguém sabe se há uma maneira "rápida e suja" de conseguir isso?

    
por Jonik 18.10.2010 / 12:06

3 respostas

4

Algumas ideias

(1) Se você pode modificar o web.xml de suas aplicações web, basta colocar algumas linhas no web.xml para requerer autenticação básica. O truque é garantir que o usuário tenha sido designado a uma função no tomcat-users.xml que corresponda à função definida na seção de restrição de autenticação do web.xml:

web.xml:

<auth-constraint>
  <role-name>protected</role-name>
</auth-constraint>

tomcat-users.xml:

<tomcat-users>
  <user name="theuser" password="pas" roles="protected" />
</tomcat-users>

(2) Se o seu servidor Tomcat tiver um servidor httpd APache na frente dele, é muito fácil fazer isso no Apache. No seu arquivo de configuração, você só precisa configurar algo assim:

<Location /webappname>
        AuthType Basic
        AuthName "Protected site"
        AuthUserFile /etc/apache2/passwords
        Require user theuser
</Location>
    
por 20.10.2010 / 12:14
3

Eu colocaria o Apache na frente do Tomcat e cuidaria da autenticação

Aqui estão algumas instruções sobre como fazer isso usando mod_jk

link

Uma vez que você tenha configurado, você pode usar o Apache Auth básico ou o módulo de autenticação de sua escolha.

    
por 16.12.2011 / 20:48
1

Rápido e sujo (não recomendado para produção) seria um MemoryRealm

MemoryRealm loads information about all users, and their corresponding roles, from $CATALINA_BASE/conf/tomcat-users.xml

Defina o Realm dentro do server.xml dentro de <Engine> ou <Host> e ele será aplicado a todos os aplicativos da web.

    
por 18.10.2010 / 12:35