import org.springframework.boot.autoconfigure.SpringBootApplication;\r
import org.springframework.context.annotation.ComponentScan;\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.realm.text.TextConfigurationRealm;\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
@SpringBootApplication\r
@EnableSwagger2\r
public static void main(String[] args) throws Exception {\r
SpringApplication.run(App.class, args);\r
}\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
+ PropertiesRealm realm = new PropertiesRealm();\r
+ return realm;\r
+ } else {\r
+ AAFRealm realm = new AAFRealm();\r
+ return realm;\r
+ }\r
+\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
+ chainDefinition.addPathDefinition("/**", "authcBasic, rest[org.onap.sdnc:odl-api]");\r
+ }\r
+\r
+ return chainDefinition;\r
+ }\r
+\r
}\r