Hi Team, here are our SSL configuration options in roller.properties:

# Enables HTTPS for login page only
securelogin.enabled=false

# Enable scheme enforcement?
# Scheme enforcement ensures that specific URLs are viewed only via HTTPS
schemeenforcement.enabled=false

# URL patterns that require HTTPS
schemeenforcement.https.urls=/roller_j_security_check,\
/roller-ui/login-redirect.jsp,\
/roller-ui/login.rol,\
/roller-ui/register.rol,/roller-ui/register!save.rol,\
/roller-ui/profile.rol,/roller-ui/profile!save.rol,\
/roller-ui/admin/userAdmin.rol,\
/roller-ui/admin/createUser.rol,/roller-ui/admin/createUser!save.rol,\
/roller-ui/authoring/userdata,\
/roller-ui/authoring/membersInvite.rol,/roller-ui/authoring/membersInvite!save.rol

I'm not sure if we need "securelogin.enabled". So long as schemeenforcement.enabled is set to true and the login URLs are listed in schemeenforcement.https.urls, that should be all that is needed to enforce SSL on the login page. If it were the case someone wanted *only* the login pages to be under SSL (strange because the registration page also usually stores the password so that should also be encrypted), that can be done by removing the other pages from schemeenforcement.https.urls.

These values are being used only in classes SchemeEnforcementFilter and RollerContext. The former requires *both* properties to be set before it does anything--a bug probably, but one that strongly suggests there's no reason to have both values. RollerContext, OTOH, will force https on the login page only if securelogin.enabled is set. I think we can equivalently change RollerContext to force https if "schemeenforcement.enabled" is true (potentially whether or not the login URL is listed in schemeenforcement.https.urls), allowing us to remove securelogin.enabled.

Unsure here, but should we remove the redundancy by dropping securelogin.enabled and possibly also rename schemeenforcement.enabled and schemeenforcement.https.urls to something that more clearly specifies what it's for: https.enabled and https.urls or transportencryption.enabled and transportencryption.urls or?

Regards,
Glen

Reply via email to