1 package org.openecomp.sdc.securityutil.filters;
4 import org.openecomp.sdc.securityutil.ISessionValidationFilterConfiguration;
6 import javax.servlet.http.Cookie;
7 import java.util.ArrayList;
8 import java.util.Arrays;
11 public class SampleFilter extends SessionValidationFilter {
13 private static class Configuration implements ISessionValidationFilterConfiguration {
15 private static Configuration instance;
17 private String securityKey;
18 private long maxSessionTimeOut;
19 private long sessionIdleTimeOut;
20 private String redirectURL;
21 private List<String> excludedUrls;
23 private String cookieName;
24 private String cookieDomain;
25 private String cookiePath;
26 private boolean isCookieHttpOnly;
28 private Configuration() {
29 //security key should be exactly 16 characters long clear text and then encoded to base64
30 this.securityKey = "AGLDdG4D04BKm2IxIWEr8o==";
31 this.maxSessionTimeOut = 24*60*60*1000;
32 this.sessionIdleTimeOut = 60*60*1000;
33 this.redirectURL = "https://www.e-access.att.com/ecomp_portal_ist/ecompportal/process_csp";
34 this.excludedUrls = new ArrayList<>(Arrays.asList("/config","/configmgr","/rest","/kibanaProxy","/healthcheck","/upload.*"));
36 this.cookieName = "kuku";
37 this.cookieDomain = "";
38 this.cookiePath = "/";
39 this.isCookieHttpOnly = true;
42 public void setSecurityKey(String securityKey) {
43 this.securityKey = securityKey;
46 public void setMaxSessionTimeOut(long maxSessionTimeOut) {
47 this.maxSessionTimeOut = maxSessionTimeOut;
50 public void setCookieName(String cookieName) {
51 this.cookieName = cookieName;
54 public void setRedirectURL(String redirectURL) {
55 this.redirectURL = redirectURL;
58 public void setExcludedUrls(List<String> excludedUrls) {
59 this.excludedUrls = excludedUrls;
62 public static Configuration getInstance(){
63 if (instance == null ){
64 instance = new Configuration();
70 public String getSecurityKey() {
75 public long getMaxSessionTimeOut() {
76 return maxSessionTimeOut;
80 public long getSessionIdleTimeOut() {
81 return sessionIdleTimeOut;
85 public String getCookieName() {
90 public String getCookieDomain() {
95 public String getCookiePath() {
100 public boolean isCookieHttpOnly() {
101 return isCookieHttpOnly;
105 public String getRedirectURL() {
110 public List<String> getExcludedUrls() {
116 public ISessionValidationFilterConfiguration getFilterConfiguration() {
117 return Configuration.getInstance();
121 protected Cookie addRoleToCookie(Cookie updatedCookie) {
122 return updatedCookie;
126 protected boolean isRoleValid(Cookie cookie) {