spring-projects / spring-projects/spring-security

Confusion at 'A Review of Filters' Section in the Spring Security/Servlet Applications/ Architecture.

Open Beginner friendly
#19,522 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: waiting-for-triage type: enhancement
Dominant language
Java
Stars
9.6k
Forks
6.3k
Avg merge
2d 11h
Merged PRs (30d)
52

Description

Expected Behavior
On the Spring Security/Servlet Applications/ Architecture docs page, there are 3 figures. In each figure, under the 'FilterChain' container, Filter0, Filter1, Filter2 and Servlet components are mentioned. And in the other figures, the deeper relationships of the filter chains are mentioned in the Filter1 component. When I was reading the docs for the first time to understand the architecture of Spring Security, I was pretty confused by Filter0 and Filter2, like what they are actually doing? What do they mean? Why are they shown here? Do they have any meaning?
The expected behaviour is that Filter0 should be replaced with appropriate wording, like 'SomeOtherFilters' or 'AppFilters'. By updating such wording, it will make it clear to the reader of the docs who wants to understand Spring Security.

Current Behaviour
Current Behaviour is visible on the Docs:
https://docs.spring.io/spring-security/reference/servlet/architecture.html

Having such clear wording will clear the confusion that Security Filters can exist at any level in the FilterChain components

Context

How has this affected me?

  • When I read the docs, I was pretty confused about why DelegatingFilterProxy is not shown in the Component box, Filter0 and why Filter1? I was not able to grasp a clear picture of the flow.

How did I understand this?

  • I took the link and pasted in the Antigravity AI tool, and stated that I am having confusion understanding the docs of the architecture, and then it stated clearly those thinking and understanding gaps.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Servlet Applications Architecture page linked in the issue and inspect the three figures, especially the FilterChain labels and the Filter1 relationships. Determine how Filter0 and Filter2 are intended to represent filters, then update the diagram wording so the roles are clear to first-time readers. Done means the figures no longer leave the purpose of those placeholder labels ambiguous.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.