[JIRA] (JSSH-8) Servlet filter that implements its own filter-mapping layer
Scott Cantor (Jira)
jira at shibboleth.atlassian.net
Thu Sep 29 18:44:37 UTC 2022
Scott Cantor ( https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A5b78efc9-1379-42cc-a3f6-56c6ea3a0007 ) *commented* on JSSH-8 ( https://shibboleth.atlassian.net/browse/JSSH-8?atlOrigin=eyJpIjoiMWMwNDNlNzVlZmE0NGRkOTlmNWRhNzc0MTBmZjZkNzMiLCJwIjoiaiJ9 )
Re: Servlet filter that implements its own filter-mapping layer ( https://shibboleth.atlassian.net/browse/JSSH-8?atlOrigin=eyJpIjoiMWMwNDNlNzVlZmE0NGRkOTlmNWRhNzc0MTBmZjZkNzMiLCJwIjoiaiJ9 )
Work in progress…
* A number of new interfaces and classes exist now. AbstractConditionalFilter lives in -networking and supports an activationCondition against ServletRequest.
* ChainingFilter is a generic Spring-aware filter that is autowired with ChainableFilter implementations and runs those in sequence, with order controlled by Spring’s Ordered interface. An Enum exists to support exposing a 5-ary scale of EARLIEST/EARLY/NEUTRAL/LATER/LATEST for controlling order.
* 4 existing core IdP filters that were defined in shib-networking now implement this Spring-aware interface and are moved down into -networking-spring and are wired up in global-system.xml.
* An instance of ChainingFilter via Spring’s delegated proxy filter is installed with a new IdP-layer ServletContextInitializer against all URLs. It doesn’t need to know anything but the name of the bean to delegate to, rather than knowing any of the actual filters it will run.
* The old beans and classes used by web.xml or via target beans there are turned into legacy stubbed classes that do nothing but emit warnings.
* For now, the one bean that needs conditional mappings (the dynamic response header filter) is relying on a Function equipped with a list of URL prefixes defined in Spring to test for, but this needs to be revised to allow plugins to inject their own mappings.
TBD:
* Several filters remain in web.xml for now pending a final decision to take on more of that work or ignore it for now. The ones left are not relying on classes that we’re moving.
( https://shibboleth.atlassian.net/browse/JSSH-8#add-comment?atlOrigin=eyJpIjoiMWMwNDNlNzVlZmE0NGRkOTlmNWRhNzc0MTBmZjZkNzMiLCJwIjoiaiJ9 ) Add Comment ( https://shibboleth.atlassian.net/browse/JSSH-8#add-comment?atlOrigin=eyJpIjoiMWMwNDNlNzVlZmE0NGRkOTlmNWRhNzc0MTBmZjZkNzMiLCJwIjoiaiJ9 )
Get Jira notifications on your phone! Download the Jira Cloud app for Android ( https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail ) or iOS ( https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8 ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100207- sha1:ee9e30a )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/commits/attachments/20220929/5da7ab2c/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-avatar-60551f27-6c0a-44ea-8f39-cbaf3b5c7287
Type: image/png
Size: 341 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20220929/5da7ab2c/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-static-comment-icon-42f822ff-1115-4746-9e76-108ac9ba5789
Type: image/png
Size: 1084 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20220929/5da7ab2c/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-static-footer-desktop-logo-3c9fc3d6-7dda-4ae4-ad31-8543e55738da
Type: image/png
Size: 10805 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20220929/5da7ab2c/attachment-0005.png>
More information about the commits
mailing list