<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
  <display-name>Identity Provider</display-name>

	<!--
		Servlet filter to ensure that an IdP session exists for the current
		user
	-->
  <filter>
    <filter-name>IdPSessionFilter</filter-name>
    <filter-class>com.sap.security.saml2.idp.core.servlet.IdPSessionFilter</filter-class>
  </filter>

	<!--
		TODO Remove filter completely as soon as test case 75 "Interoperability Test J - Unsolicitied Response and Transient NameID" is changed to use /saml2/idp/idpenduser
	-->
  <filter-mapping>
    <filter-name>IdPSessionFilter</filter-name>
    <url-pattern>/enduser</url-pattern>
  </filter-mapping>
  
  <!-- Internal service servlet (not accessible remotely) -->
  <servlet>
    <servlet-name>IdPService</servlet-name>
		<servlet-class>com.sap.security.saml2.idp.core.servlet.IdPServiceServlet</servlet-class>
    <run-as>
      <role-name>IdPAdministrator</role-name>
    </run-as>
  </servlet>
  <servlet>
  <servlet-name>IdPJmxProvider</servlet-name>
	<servlet-class>com.sap.security.saml2.idp.core.servlet.IdPJmxProvider</servlet-class>
	<run-as>
		<role-name>IdPAdministrator</role-name>
    	</run-as>
  </servlet>
  <!-- SAML2 endpoint servlets -->  
  <servlet>
    <servlet-name>SSOEndPoint</servlet-name>
    <servlet-class>com.sap.security.saml2.idp.core.endpoints.SSOEndPoint</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>SLOEndPoint</servlet-name>
    <servlet-class>com.sap.security.saml2.idp.core.endpoints.SLOEndPoint</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ManageNameIDEndPoint</servlet-name>
    <servlet-class>com.sap.security.saml2.idp.core.endpoints.ManageNameIDEndPoint</servlet-class>
  </servlet>
  

  <!--
	Error JSP which is used if WD application is not present or stopped
  -->
  <servlet>
    <servlet-name>IdPError</servlet-name>
    <jsp-file>/error.jsp</jsp-file>
  </servlet>
  
  <!-- SAML2 endpoints URLs -->
  <servlet-mapping>
    <servlet-name>SSOEndPoint</servlet-name>
    <url-pattern>/sso/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>SLOEndPoint</servlet-name>
    <url-pattern>/slo/*</url-pattern>
  </servlet-mapping>
   <servlet-mapping>
    <servlet-name>ManageNameIDEndPoint</servlet-name>
    <url-pattern>/mni/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
      <servlet-name>IdPJmxProvider</servlet-name>
      <url-pattern>/idpadmin</url-pattern>
  </servlet-mapping>

  <!-- Enduser application -->
  <servlet-mapping>
    <servlet-name>IdPJmxProvider</servlet-name>
    <url-pattern>/idpadmin</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>IdPJmxProvider</servlet-name>
    <url-pattern>/idpenduser</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>IdPJmxProvider</servlet-name>
    <url-pattern>/enduser</url-pattern>
  </servlet-mapping>

  <!--
	Error JSP which is used if WD application is not present or stopped
  -->
  <servlet-mapping>
    <servlet-name>IdPError</servlet-name>
    <url-pattern>/error</url-pattern>
  </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

  <security-role>
    <role-name>IdPAdministrator</role-name>
  </security-role>
  <security-role>
    <role-name>IdPAllAuthenticatedUsers</role-name>
  </security-role>
  
</web-app>
