<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.eclipse.jetty.tests</groupId>
    <artifactId>test-webapps-parent</artifactId>
    <version>9.2.15.v20160210</version>
  </parent>
  <artifactId>test-jaas-webapp</artifactId>
  <name>Jetty Tests :: WebApp :: JAAS</name>
  <packaging>war</packaging>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <configuration>
          <!-- DO NOT DEPLOY (or Release) -->
          <skip>true</skip>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>${project.version}</version>
        <configuration>
          <scanIntervalSeconds>10</scanIntervalSeconds>
          <systemProperties>
              <!-- This is for convenience so that the src/etc/login.conf file can stay unmodified when copied to $jetty.home/etc directory -->
            <systemProperty>
              <name>jetty.home</name>
              <value>${basedir}/src/main/config</value>
            </systemProperty>
              <!-- Mandatory. This system property tells JAAS where to find the login module configuration file -->
            <systemProperty>
              <name>java.security.auth.login.config</name>
              <value>${basedir}/src/main/config/demo-base/etc/login.conf</value>
            </systemProperty>
          </systemProperties>
           <webAppConfig>
            <contextPath>/test-jaas</contextPath>
            <securityHandler implementation="org.eclipse.jetty.security.ConstraintSecurityHandler">
              <loginService implementation="org.eclipse.jetty.jaas.JAASLoginService">
                 <name>Test JAAS Realm</name>
                 <loginModuleName>xyz</loginModuleName>
              </loginService>
            </securityHandler>
          </webAppConfig>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>${basedir}/src/main/assembly/config.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
