Use CadiFilter instead of shiro
[ccsdk/apps.git] / ms / sliboot / src / main / java / org / onap / ccsdk / apps / ms / sliboot / SlibootApp.java
index 9805d00..0d7a547 100644 (file)
@@ -25,17 +25,16 @@ import org.slf4j.LoggerFactory;
 import org.springframework.boot.SpringApplication;\r
 import org.springframework.boot.autoconfigure.SpringBootApplication;\r
 import org.springframework.boot.autoconfigure.domain.EntityScan;\r
+import org.springframework.boot.web.servlet.FilterRegistrationBean;\r
 import org.springframework.context.annotation.ComponentScan;\r
+import org.springframework.core.annotation.Order;\r
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;\r
 import org.springframework.transaction.annotation.EnableTransactionManagement;\r
 \r
 import springfox.documentation.swagger2.annotations.EnableSwagger2;\r
-import org.apache.shiro.realm.Realm;\r
-import org.apache.shiro.realm.text.PropertiesRealm;\r
-import org.apache.shiro.spring.web.config.DefaultShiroFilterChainDefinition;\r
-import org.apache.shiro.spring.web.config.ShiroFilterChainDefinition;\r
 import org.springframework.context.annotation.Bean;\r
-import org.onap.aaf.cadi.shiro.AAFRealm;\r
+\r
+import org.onap.aaf.cadi.filter.CadiFilter;\r
 \r
 @SpringBootApplication(scanBasePackages={ "org.onap.ccsdk.apps.ms.sliboot.*", "org.onap.ccsdk.apps.services" })\r
 @EnableJpaRepositories("org.onap.ccsdk.apps.ms.sliboot.*")\r
@@ -51,34 +50,21 @@ public class SlibootApp {
   }\r
 \r
   @Bean\r
-  public Realm realm() {\r
-\r
-    // If cadi prop files is not defined use local properties realm\r
-    // src/main/resources/shiro-users.properties\r
-    if ("none".equals(System.getProperty("cadi_prop_files", "none"))) {\r
-      log.info("cadi_prop_files undefined, AAF Realm will not be set");\r
-      PropertiesRealm realm = new PropertiesRealm();\r
-      return realm;\r
-    } else {\r
-      AAFRealm realm = new AAFRealm();\r
-      return realm;\r
-    }\r
+       @Order(1)\r
+       public FilterRegistrationBean<CadiFilter> cadiFilter() {\r
+               CadiFilter filter = new CadiFilter();\r
 \r
-  }\r
+               FilterRegistrationBean<CadiFilter> registrationBean = new FilterRegistrationBean<>();\r
+               registrationBean.setFilter(filter);\r
+               if ("none".equals(System.getProperty("cadi_prop_files", "none"))) {\r
+            log.info("cadi_prop_files undefined, AAF CADI disabled");\r
+                       registrationBean.addUrlPatterns("/xxxx/*");\r
+               } else {\r
+                       registrationBean.addUrlPatterns("/*");\r
+                       registrationBean.addInitParameter("cadi_prop_files", System.getProperty("cadi_prop_files"));\r
+               }\r
 \r
-  @Bean\r
-  public ShiroFilterChainDefinition shiroFilterChainDefinition() {\r
-    DefaultShiroFilterChainDefinition chainDefinition = new DefaultShiroFilterChainDefinition();\r
-\r
-    // if cadi prop files is not set disable authentication\r
-    if ("none".equals(System.getProperty("cadi_prop_files", "none"))) {\r
-      chainDefinition.addPathDefinition("/**", "anon");\r
-    } else {\r
-      log.info("Loaded property cadi_prop_files, AAF REALM set");\r
-      chainDefinition.addPathDefinition("/**", "authcBasic, rest[org.onap.sdnc.odl:odl-api]");\r
-    }\r
-\r
-    return chainDefinition;\r
-  }\r
+               return registrationBean;\r
+       } \r
 \r
 }\r