From b038e510e2389da1f09b1bc3db973c12a62aee9e Mon Sep 17 00:00:00 2001 From: "sunil.unnava" Date: Thu, 11 Apr 2019 12:13:15 -0400 Subject: [PATCH] authorization check for auth topics Issue-ID: DMAAP-1160 Change-Id: Icdbaefecf8f07a2b0ad3fcc9b243df1072dd8579 Signed-off-by: sunil.unnava --- pom.xml | 2 +- .../org/onap/dmaap/dmf/mr/service/impl/EventsServiceImpl.java | 10 +++++++++- version.properties | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index cb47037..2a18ecc 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 4.0.0 org.onap.dmaap.messagerouter.msgrtr msgrtr - 1.1.15-SNAPSHOT + 1.1.16-SNAPSHOT jar dmaap-messagerouter-msgrtr Message Router - Restful interface built for kafka diff --git a/src/main/java/org/onap/dmaap/dmf/mr/service/impl/EventsServiceImpl.java b/src/main/java/org/onap/dmaap/dmf/mr/service/impl/EventsServiceImpl.java index 2f436ec..5ce45ac 100644 --- a/src/main/java/org/onap/dmaap/dmf/mr/service/impl/EventsServiceImpl.java +++ b/src/main/java/org/onap/dmaap/dmf/mr/service/impl/EventsServiceImpl.java @@ -204,6 +204,14 @@ public class EventsServiceImpl implements EventsService { "metrics.send.cambria.topic"); if (null == metricTopicname) metricTopicname = "msgrtr.apinode.metrics.dmaap"; + + boolean topicNameEnforced = false; + String topicNameStd = null; + topicNameStd = com.att.ajsc.beans.PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, + "enforced.topic.name.AAF"); + if (null != topicNameStd && topic.startsWith(topicNameStd)) { + topicNameEnforced = true; + } if (null == ctx.getRequest().getHeader("Authorization") && !topic.equalsIgnoreCase(metricTopicname)) { if (null != metatopic.getOwner() && !("".equals(metatopic.getOwner()))) { @@ -212,7 +220,7 @@ public class EventsServiceImpl implements EventsService { } } // if headers are not provided then user will be null - if (user == null && null != ctx.getRequest().getHeader("Authorization")) { + if (topicNameEnforced&&user == null && null != ctx.getRequest().getHeader("Authorization")) { // the topic name will be sent by the client DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl(); diff --git a/version.properties b/version.properties index aabaad9..2740ee4 100644 --- a/version.properties +++ b/version.properties @@ -27,7 +27,7 @@ major=1 minor=1 -patch=15 +patch=16 base_version=${major}.${minor}.${patch} -- 2.16.6