This module is part of the Apache Sling project.
The Apache Sling Security module provides:
This OSGi bundle can be used as a standalone bundle outside of Apache Sling. In that case, only the Referrer Filter functionality is available, as the Content Disposition Filter depends on the Apache Sling API.
The project inherits build plugins and checks from Sling parent POM 66.
mvn clean installmvn clean install -DskipTestsmvn testmvn spotless:checkmvn spotless:applymvn rat:checkmvn baseline:checkThe Referrer Filter is registered as an OSGi HTTP Whiteboard Preprocessor and checks browser-originated modification requests. It validates the referer header and falls back to origin when referer is not present.
Configuration PID: org.apache.sling.security.impl.ReferrerFilter
Main configuration options:
allow.empty)allow.hosts)allow.hosts.regexp)filter.methods)exclude.agents.regexp)exclude.paths){ "allow.empty": false, "allow.hosts": ["mysite.com", "localhost"], "allow.hosts.regexp": [], "filter.methods": ["POST", "PUT", "DELETE", "COPY", "MOVE"], "exclude.agents.regexp": [], "exclude.paths": [] }
It is also possible to amend this configuration with factory configurations for:
org.apache.sling.security.impl.ReferrerFilterAmendmentImpl{ "allow.hosts": ["mysite.com", "localhost"], "allow.hosts.regexp": [], "exclude.agents.regexp": [], "exclude.paths": [] }
The Content Disposition Filter is a Sling request/forward filter that adds Content-Disposition: attachment for configured resource paths on GET and HEAD requests. It supports explicit path includes, prefix includes (* suffix), exclusions, and optional all-path mode.
The header is only added for resources that contain jcr:data directly or below jcr:content/jcr:data.
Configuration PID: org.apache.sling.security.impl.ContentDispositionFilter
Main configuration options:
sling.content.disposition.paths)sling.content.disposition.excluded.paths)sling.content.disposition.all.paths){ "sling.content.disposition.paths": [ "/content/secure/*", "/content/files/report.pdf:text/html,text/plain" ], "sling.content.disposition.excluded.paths": [ "/content/secure/preview" ], "sling.content.disposition.all.paths": false }