Thanks. Now I know that it can work even though it certainly not working for me! Here is the same style of test showing my robots path included w/ sling.content.disposition.excluded.paths.
curl -fs -u admin:admin 'http://localhost:4502/system/console/configMgr/org.apache.sling.security.impl.ContentDispositionFilter.json' [{"pid":"org.apache.sling.security.impl.ContentDispositionFilter","title":"Apache Sling Content Disposition Filter","description":"Request filter adding Content Disposition header with value 'attachment' for certain paths\/content types. Independent of the configuration only resource paths are covered which contain a property named 'jcr:data' or 'jcr:content\\jcr:data'.","properties":{"sling.content.disposition.paths":{"name":"Included Resource Paths & Content Types","optional":false,"is_set":true,"type":1,"values":[""],"description":"These resource paths are covered by the filter. Each entry is of the form '<path> [ : <excluded content type> {,<excluded content type>} ]'. Invalid entries are logged and ignored. <path> must be an absolute path and may contain a wildcard ('*') at the end, to match every resource path with the given path prefix. (sling.content.disposition.paths)"},"sling.content.disposition.excluded.paths":{"name":"Excluded Resource Paths","optional":false,"is_set":true,"type":1,"values":["\/libs\/cq\/ui\/resources\/0.html","\/etc\/dam\/viewers\/s7viewers\/html5\/s7sdkclose.html","\/etc\/dam\/viewers\/s7viewers\/html5\/CarouselViewer.html","\/etc\/dam\/viewers\/s7viewers\/html5\/eCatalogViewer.html","\/etc\/dam\/viewers\/s7viewers\/html5\/BasicVideoViewer.html","\/etc\/dam\/viewers\/s7viewers\/html5\/BasicZoomViewer.html","\/etc\/dam\/viewers\/s7viewers\/html5\/ZoomViewer.html","\/etc\/dam\/viewers\/s7viewers\/html5\/FlyoutViewer.html","\/etc\/dam\/viewers\/s7viewers\/html5\/SpinViewer.html","\/etc\/dam\/viewers\/s7viewers\/html5\/VideoViewer.html","\/etc\/dam\/viewers\/s7viewers\/html5\/MixedMediaViewer.html","\/etc\/dam\/viewers\/s7viewers\/html5\/InteractiveImage.html","\/etc\/dam\/viewers\/s7viewers\/html5\/InteractiveVideoViewer.html","\/etc\/dam\/viewers\/s7sdk\/2.9\/flash\/VideoPlayer.swf","\/etc\/dam\/viewers\/s7sdk\/dev\/flash\/VideoPlayer.swf","\/etc\/dam\/viewers\/s7sdk\/2.10\/flash\/VideoPlayer.swf","\/etc\/dam\/viewers\/s7sdk\/2.11\/flash\/VideoPlayer.swf","\/etc\/clientlibs\/foundation\/shared\/endorsed\/swf\/slideshow.swf","\/etc\/dam\/viewers\/s7sdk\/3.0\/flash\/VideoPlayer.swf","\/etc\/dam\/viewers\/s7sdk\/3.1\/flash\/VideoPlayer.swf","\/etc\/dam\/viewers\/s7sdk\/3.2\/flash\/VideoPlayer.swf","\/content\/dam\/path\/robots.txt"],"description":"These resource paths are excluded from the filter. Each resource path must be given as absolute and fully qualified path. Prefix matching\/wildcards are not supported. (sling.content.disposition.excluded.paths)"},"sling.content.disposition.all.paths":{"name":"Enable For All Resource Paths","optional":false,"is_set":true,"type":11,"value":true,"description":"This flag controls whether to enable this filter for all paths, except for the excluded paths defined by sling.content.disposition.excluded.paths. Setting this to 'true' leads to ignoring 'sling.content.disposition.path'. (sling.content.disposition.all.paths)"}},"bundleLocation":"","bundle_location":null,"service_location":""}]% curl -vfs -u admin:admin http://localhost:4502/content/dam/path/robots.txt * Trying ::1... * TCP_NODELAY set * Connected to localhost (::1) port 4502 (#0) * Server auth using Basic with user 'admin' > GET /content/dam/michigan-lsa/admin/robots.txt HTTP/1.1 > Host: localhost:4502 > Authorization: Basic YWRtaW46YWRtaW4= > User-Agent: curl/7.54.0 > Accept: */* > < HTTP/1.1 200 OK < Last-Modified: Thu, 14 Feb 2019 19:08:25 GMT < Content-Disposition: attachment < Content-Type: text/plain;charset=iso-8859-1 < Content-Length: 25 < User-agent: * * Connection #0 to host localhost left intact Disallow: /% > On Feb 19, 2019, at 11:55 AM, Joey Smith <joeysm...@gmail.com> wrote: > > Adding it to "Excluded Resource Paths" works correctly here for me: > > https://asciinema.org/a/RFi1kQyk4TCoaCoz5d1ss0o7b > > On Tue, Feb 19, 2019 at 7:28 AM Cris Rockwell <cmroc...@umich.edu> wrote: > >> Thanks for the reply, but the suggestion does not work. After repeatedly >> testing various values and configurations, I have found neither >> sling.content.disposition.excluded.paths or sling.content.disposition.paths >> do anything. Perhaps they won't work when >> sling.content.disposition.all.paths is true? >> >> The link was not useful as documentation since it points to the source, >> which define the configuration attribute names and descriptions. The names >> and descriptions are already obvious when opening the config via >> /system/console/configMgr >> >> Has anyone else successfully set either >> sling.content.disposition.excluded.paths or sling.content.disposition.paths >> in org.apache.sling.security version 1.1.12? >> >> >> >>> On Feb 18, 2019, at 4:55 PM, Andres Bott <cont...@andresbott.com> wrote: >>> >>> Hey Chris >>> >>> I think defining an extension as part of the path would cause this not >> to work, >>> since the extension is not part of the requests path (your examples) >>> >>> as fas as I can remember, this should look more like: >>> >>> "/content/path/*:text/plain" this means apply the filter for every path >> bellow content/path except for requests to mime/type text requests. >>> >>> if you need to pinpoint to the robots txt, you could try: >> "/content/path/robots:text/plain" >>> >>> unfortunately the best documentation i found back when I had to deal >> with this was: >> https://github.com/apache/sling-org-apache-sling-security/blob/master/src/main/java/org/apache/sling/security/impl/ContentDispositionFilterConfiguration.java >>> >>> HTH >>> >>> Andres >>> >>> >>> El 2019-02-18 22:00, Cris Rockwell escribió: >>>> Hello Sling Users >>>> I am working on an upgrade and have found the changes to >>>> org.apache.sling.security.impl.ContentDispositionFilter present >>>> problems with rendering robots.txt (text/plain) from a location >>>> managed under the dam. After the upgrade it has the header >>>> Content-Disposition: attachment. As a result we have started seeing >>>> our testing URL’s in search results, which indicates the search-bots >>>> are not opening and reading >>>> org.apache.sling.security version 1.1.2 ContentDispositionFilter >> had a >>>> ranking of -2500 (txt file renders) >>>> org.apache.sling.security version 1.1.12 ContentDispositionFilter >> had >>>> a ranking of 25000 (txt file downloads) >>>> My attempts to configure Apache Sling Content Disposition Filter have >>>> failed. Adding the fully qualified path to "Excluded Resource Paths" >>>> does not work. My question related to the section titled "Included >>>> Resource Paths & Content Types.” There is a cryptic instruction copied >>>> below. What does this mean? Please provide en example specifying the >>>> path, excluded content types >>>>> These resource paths are covered by the filter. Each entry is of the >> form '<path> [ : <excluded content type> {,<excluded content type>} ]'. >> Invalid entries are logged and ignored. <path> must be an absolute path and >> may contain a wildcard ('*') at the end, to match every resource path with >> the given path prefix. (sling.content.disposition.paths) >>>> I have guessed at different entries, but they do not take affect. >>>> /content/path/robots.txt[text/plain] >>>> /content/path/robots.txt [text/plain] >>>> /content/path/robots.txt:text/plain >>>> If I uncheck "Enable For All Resource Paths” in the Apache Sling >>>> Content Disposition Filter, then the header Content-Disposition: >>>> attachment goes away and it renders as expected. But seems like an >>>> extreme solution especially given the fact that Content Disposition >>>> Filter was used and worked at the previous version mentioned. Please >>>> note that although I have provided some context about the a specific >>>> problem, my question is about how to configure "Included Resource >>>> Paths & Content Types” using path and mime types. >>>> Thanks! >>>> Cris >> >>