Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Jaas não funciona com plugin maven do tomcat7

Estou utilizando o JAAS pra segurança da minha webapp. Só declaro um JDBCRealm do Tomcat normal, passando as credenciais de banco... segue o context.xml com a declaração do Realm:

context.xml

<?xml version='1.0' encoding='utf-8'?>
<Context>

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <Realm className="org.apache.catalina.realm.JDBCRealm"

           driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

           connectionURL="jdbc:sqlserver://ip:porta;databaseName=dbname;user=user;password=pass"

           userTable="user" userNameCol="username" userCredCol="pass"

           userRoleTable="roles" roleNameCol="rolename"

           digest="SHA-256"/>

</Context>

Instalando o Tomcat 7 na minha pasta e colocando esse context.xml na pasta TOMCAT7/conf/context.xml e colocando a lib do sql server na pasta TOMCAT7/lib, a autenticação com o JAAS funciona normal.

Ao tentar utilizar o plugin do maven, a autenticação não funciona. Fiz da seguinte forma:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <port>9090</port>
        <path>/</path>
        <contextFile>src/main/resources/tomcat/context.xml</contextFile>
    </configuration>

    <dependencies>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>${mssql-jdbc.version}</version>
        </dependency>
    </dependencies>
</plugin>

Coloquei o mesmo context.xml na pasta src/main/resources/tomcat/context.xml

1 resposta

Opa, essa é uma dúvida complicada mesmo :(. O plugin para o tomcat do maven não é algo amplamente usado esses dias, ainda mais com uma configuração específica de segurança associada. Vamos esperar para ver se alguém consegue colaborar aqui, mas acho complicado :(.