Bug 4719 Shiro integration into restconf
[netconf.git] / opendaylight / restconf / sal-rest-connector / src / main / resources / WEB-INF / web.xml
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
4     version="3.0">
5
6     <servlet>
7         <servlet-name>JAXRSRestconf</servlet-name>
8         <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
9         <init-param>
10             <param-name>javax.ws.rs.Application</param-name>
11             <param-value>org.opendaylight.netconf.sal.rest.impl.RestconfApplication</param-value>
12         </init-param>
13         <load-on-startup>1</load-on-startup>
14     </servlet>
15
16     <context-param>
17       <param-name>shiroEnvironmentClass</param-name>
18       <param-value>org.opendaylight.aaa.shiro.web.env.KarafIniWebEnvironment</param-value>
19     </context-param>
20
21     <listener>
22         <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
23     </listener>
24
25     <filter>
26         <filter-name>ShiroFilter</filter-name>
27         <filter-class>org.opendaylight.aaa.shiro.filters.AAAFilter</filter-class>
28     </filter>
29
30     <filter-mapping>
31         <filter-name>ShiroFilter</filter-name>
32         <url-pattern>/*</url-pattern>
33     </filter-mapping>
34
35     <servlet-mapping>
36         <servlet-name>JAXRSRestconf</servlet-name>
37         <url-pattern>/*</url-pattern>
38     </servlet-mapping>
39
40     <filter>
41         <filter-name>GzipFilter</filter-name>
42         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
43         <init-param>
44             <param-name>mimeTypes</param-name>
45             <param-value>application/xml,application/yang.data+xml,xml,application/json,application/yang.data+json</param-value>
46         </init-param>
47     </filter>
48     <filter-mapping>
49         <filter-name>GzipFilter</filter-name>
50         <url-pattern>/*</url-pattern>
51     </filter-mapping>
52
53     <filter>
54         <filter-name>cross-origin-restconf</filter-name>
55         <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
56         <init-param>
57             <param-name>allowedOrigins</param-name>
58             <param-value>*</param-value>
59         </init-param>
60         <init-param>
61             <param-name>allowedMethods</param-name>
62             <param-value>GET,POST,OPTIONS,DELETE,PUT,HEAD</param-value>
63         </init-param>
64         <init-param>
65             <param-name>allowedHeaders</param-name>
66             <param-value>origin, content-type, accept, authorization</param-value>
67         </init-param>
68         <init-param>
69             <param-name>exposedHeaders</param-name>
70             <param-value>location</param-value>
71         </init-param>
72     </filter>
73     <filter-mapping>
74         <filter-name>cross-origin-restconf</filter-name>
75         <url-pattern>/*</url-pattern>
76     </filter-mapping>
77
78     <security-constraint>
79         <web-resource-collection>
80             <web-resource-name>NB api</web-resource-name>
81             <url-pattern>/*</url-pattern>
82             <http-method>POST</http-method>
83             <http-method>GET</http-method>
84             <http-method>PUT</http-method>
85             <http-method>PATCH</http-method>
86             <http-method>DELETE</http-method>
87             <http-method>HEAD</http-method>
88         </web-resource-collection>
89     </security-constraint>
90
91 </web-app>