<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
	<display-name>MOA ID Proxy</display-name>
	<description>MOA ID Proxy Service</description>

	<filter>
		<filter-name>ParameterInOrder Filter</filter-name>
		<filter-class>at.gv.egovernment.moa.id.util.ParameterInOrderFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>ParameterInOrder Filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<servlet>
		<servlet-name>Proxy</servlet-name>
		<display-name>Proxy</display-name>
		<description>Forwards requests to the online application</description>
		<servlet-class>at.gv.egovernment.moa.id.proxy.servlet.ProxyServlet</servlet-class>
		<load-on-startup>0</load-on-startup>
	</servlet>
	<servlet>
		<servlet-name>ConfigurationUpdate</servlet-name>
		<display-name>ConfigurationUpdate</display-name>
		<description>Update MOA-ID Proxy configuration from the configuration file</description>
		<servlet-class>at.gv.egovernment.moa.id.proxy.servlet.ConfigurationServlet</servlet-class>
	</servlet>
	
	<!-- JSP servlet -->
	<servlet>
        <servlet-name>jspservlet</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    </servlet>
    
	<!-- servlet mapping for jsp pages -->
	<!-- errorpage.jsp (customizeable) -->
	<servlet-mapping>
        <servlet-name>jspservlet</servlet-name>
        <url-pattern>/errorpage-proxy.jsp</url-pattern>
    </servlet-mapping>		
    <!-- message-proxy.jsp (customizeable) used for non error messages (e.g. ConfigurationUpdate) -->
	<servlet-mapping>
        <servlet-name>jspservlet</servlet-name>
        <url-pattern>/message-proxy.jsp</url-pattern>
    </servlet-mapping>		

	<servlet-mapping>
		<servlet-name>ConfigurationUpdate</servlet-name>
		<url-pattern>/ConfigurationUpdate</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>Proxy</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>
	<session-config>
		<session-timeout>30</session-timeout>
	</session-config>
	<error-page>
		<error-code>500</error-code>
		<location>/errorpage-proxy.jsp</location>
	</error-page>
	<security-constraint>
		<web-resource-collection>
			<web-resource-name>ConfigurationUpdate</web-resource-name>
			<url-pattern>/ConfigurationUpdate</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<role-name>moa-admin</role-name>
		</auth-constraint>
	</security-constraint>
	<login-config>
		<auth-method>BASIC</auth-method>
		<realm-name>UserDatabase</realm-name>
	</login-config>
	<security-role>
		<description>
		    The role that is required to log in to the moa Application
  		</description>
		<role-name>moa-admin</role-name>
	</security-role>
</web-app>