spring-projects / spring-projects/spring-security

Consider introducing a new component model for authentication and authorization

Open
#13,267 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

theme: partner-use-cases type: enhancement
Dominant language
Java
Stars
9.6k
Forks
6.3k
Avg merge
2d 11h
Merged PRs (30d)
52

Description

We should consider introducing a new component model for authentication and authorization with the main goal of improving usability.

The Servlet API is a low-level API and inherently may be more difficult to work with. Introducing a higher-level component API could simplify usage.

Ideally, the component API would completely abstract the Servlet API, in that, the component developer would never need to work with Filter, FilterChain, ServletRequest, ServletResponse, etc.

The existing Filter implementations would need to be replaced with simpler components and the request processing flow controlled via FilterChain would need to be replaced with a specialized component that knows how to orchestrate the request/response processing pipeline.

Related gh-13266, gh-12985

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 by reviewing the Servlet API elements named in the issue: Filter, FilterChain, ServletRequest, and ServletResponse, along with the existing authentication and authorization flow. The issue names no files or tests; completion would require a settled higher-level component model that replaces the current filter-based orchestration and addresses the related issues gh-13266 and gh-12985.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring
Domain
authentication, authorization, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.