Skip to content

Instantly share code, notes, and snippets.

@cfalzone
Last active December 29, 2015 02:19
Show Gist options
  • Save cfalzone/7599940 to your computer and use it in GitHub Desktop.
Save cfalzone/7599940 to your computer and use it in GitHub Desktop.
Securing dotCMS Backend with Tuckey UrlRewriteFilter and OSGI
private void addRewriteRules() throws Exception {
// Secure the back-end
Condition conditionHttps = new Condition();
conditionHttps.setType("scheme");
conditionHttps.setOperator("notequal");
conditionHttps.setValue("https");
// Loop through each environment and force them to be on https://{env}assets.aquent.com/whatever
for(String prefix : Arrays.asList("dev.", "stag.", "")) {
Condition conditionHost = new Condition();
conditionHost.setName("host");
conditionHost.setOperator("equal");
conditionHost.setValue("^"+prefix+".*");
NormalRule ruleC = new NormalRule();
ruleC.setFrom("^(/c/.*)$");
ruleC.setTo("https://"+prefix+"assets.aquent.com/$1");
ruleC.setToLast("true");
ruleC.setToType("permanent-redirect");
ruleC.setName(prefix+"SecureBackendC");
ruleC.addCondition(conditionHttps);
ruleC.addCondition(conditionHost);
addRewriteRule(ruleC);
NormalRule ruleAdmin = new NormalRule();
ruleAdmin.setFrom("^/admin$");
ruleAdmin.setTo("https://"+prefix+"assets.aquent.com/admin");
ruleAdmin.setToLast("true");
ruleAdmin.setToType("permanent-redirect");
ruleAdmin.setName(prefix+"SecureBackendAdmin");
ruleAdmin.addCondition(conditionHttps);
ruleAdmin.addCondition(conditionHost);
addRewriteRule(ruleAdmin);
NormalRule ruleEdit = new NormalRule();
ruleEdit.setFrom("^/edit$");
ruleEdit.setTo("https://"+prefix+"assets.aquent.com/edit");
ruleEdit.setToLast("true");
ruleEdit.setToType("permanent-redirect");
ruleEdit.setName(prefix+"SecureBackendEdit");
ruleEdit.addCondition(conditionHttps);
ruleEdit.addCondition(conditionHost);
addRewriteRule(ruleEdit);
NormalRule ruleLogin = new NormalRule();
ruleLogin.setFrom("^/html/portal/login.jsp$");
ruleLogin.setTo("https://"+prefix+"assets.aquent.com/html/portal/login.jsp");
ruleLogin.setToLast("true");
ruleLogin.setToType("permanent-redirect");
ruleLogin.setName(prefix+"SecureBackendLogin");
ruleLogin.addCondition(conditionHttps);
ruleLogin.addCondition(conditionHost);
addRewriteRule(ruleLogin);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment