aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/music/authentication/MusicAuthorizationFilter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/music/authentication/MusicAuthorizationFilter.java')
-rw-r--r--src/main/java/org/onap/music/authentication/MusicAuthorizationFilter.java82
1 files changed, 17 insertions, 65 deletions
diff --git a/src/main/java/org/onap/music/authentication/MusicAuthorizationFilter.java b/src/main/java/org/onap/music/authentication/MusicAuthorizationFilter.java
index b1db1083..bde3e205 100644
--- a/src/main/java/org/onap/music/authentication/MusicAuthorizationFilter.java
+++ b/src/main/java/org/onap/music/authentication/MusicAuthorizationFilter.java
@@ -25,10 +25,6 @@
package org.onap.music.authentication;
import java.io.IOException;
-import java.util.Base64;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
@@ -36,13 +32,11 @@ import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.onap.music.eelf.logging.EELFLoggerDelegate;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.PropertySource;
-
+import org.onap.music.exceptions.MusicAuthenticationException;
+import org.onap.music.main.MusicUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
@@ -51,11 +45,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
* @author sp931a
*
*/
-@PropertySource(value = {"file:/opt/app/music/etc/music.properties"})
+//@PropertySource(value = {"file:/opt/app/music/etc/music.properties"})
public class MusicAuthorizationFilter implements Filter {
- @Value("${music.aaf.ns}")
- private String musicNS;
+ private String musicNS = MusicUtil.getMusicAafNs();
private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(MusicAuthorizationFilter.class);
@@ -65,26 +58,18 @@ public class MusicAuthorizationFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
-
+ // Do Nothing
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
- throws IOException, ServletException {
-
- logger.debug(EELFLoggerDelegate.applicationLogger,
- "In MusicAuthorizationFilter doFilter start() ::::::::::::::::::::::::");
-
+ throws IOException, ServletException {
HttpServletResponse httpResponse = null;
boolean isAuthAllowed = false;
if (null != servletRequest && null != servletResponse) {
httpResponse = (HttpServletResponse) servletResponse;
-
- logger.debug(EELFLoggerDelegate.applicationLogger,
- "Music NS defined in music property file --------------------------" + musicNS);
-
long startTime = 0;
if( null != servletRequest.getAttribute("startTime")) {
startTime = ((Long)servletRequest.getAttribute("startTime")).longValue();
@@ -94,20 +79,23 @@ public class MusicAuthorizationFilter implements Filter {
try {
isAuthAllowed = AuthUtil.isAccessAllowed(servletRequest, musicNS);
- } catch (Exception e) {
- logger.error(EELFLoggerDelegate.applicationLogger,
- "Error while checking authorization :::" + e.getMessage());
+ } catch (MusicAuthenticationException e) {
+ logger.error(EELFLoggerDelegate.securityLogger,
+ "Error while checking authorization Music Namespace: " + musicNS + " : " + e.getMessage(),e);
+ } catch ( Exception e) {
+ logger.error(EELFLoggerDelegate.securityLogger,
+ "Error while checking authorization Music Namespace: " + musicNS + " : " + e.getMessage(),e);
}
long endTime = System.currentTimeMillis();
//startTime set in <code>CadiAuthFilter</code> doFilter
- logger.debug(EELFLoggerDelegate.applicationLogger,
- "Time took for authentication & authorization : "
- + (endTime - startTime) + " milliseconds");
+ logger.debug(EELFLoggerDelegate.securityLogger,
+ "Time took for authentication & authorization : "
+ + (endTime - startTime) + " milliseconds");
if (!isAuthAllowed) {
- logger.debug(EELFLoggerDelegate.applicationLogger,
+ logger.info(EELFLoggerDelegate.securityLogger,
"Unauthorized Access");
AuthorizationError authError = new AuthorizationError();
authError.setResponseCode(HttpServletResponse.SC_UNAUTHORIZED);
@@ -124,47 +112,11 @@ public class MusicAuthorizationFilter implements Filter {
filterChain.doFilter(servletRequest, servletResponse);
}
}
- logger.debug(EELFLoggerDelegate.applicationLogger,
- "In MusicAuthorizationFilter doFilter exit() ::::::::::::::::::::::::");
}
private byte[] restResponseBytes(AuthorizationError eErrorResponse) throws IOException {
String serialized = new ObjectMapper().writeValueAsString(eErrorResponse);
return serialized.getBytes();
}
-
- private Map<String, String> getHeadersInfo(HttpServletRequest request) {
-
- Map<String, String> map = new HashMap<String, String>();
-
- Enumeration headerNames = request.getHeaderNames();
- while (headerNames.hasMoreElements()) {
- String key = (String) headerNames.nextElement();
- String value = request.getHeader(key);
- map.put(key, value);
- }
-
- return map;
- }
-
- private static String getUserNamefromRequest(HttpServletRequest httpRequest) {
- String authHeader = httpRequest.getHeader("Authorization");
- String username = null;
- if (authHeader != null) {
- String[] split = authHeader.split("\\s+");
- if (split.length > 0) {
- String basic = split[0];
-
- if ("Basic".equalsIgnoreCase(basic)) {
- byte[] decodedBytes = Base64.getDecoder().decode(split[1]);
- String decodedString = new String(decodedBytes);
- int p = decodedString.indexOf(":");
- if (p != -1) {
- username = decodedString.substring(0, p);
- }
- }
- }
- }
- return username;
- }
}
+