spring-projects / spring-projects/spring-security

Authorization documentation uses deprecated setRoleHierarchy method

Open
#19,270 1 comment 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

I recently updated our project from spring boot 3 to 4 and noticed there is now a deprecation in our role hierarchy configuration.

We are using setRoleHierarchy because we rely heavily on @PreAuthorize. This method is now deprecated and refers to getDefaultAuthorizationManagerFactory(). I wanted to know how to use AuthorizationManagerFactory in this context but could not find anything about in the relevant docs. Specifically here: https://docs.spring.io/spring-security/reference/7.1-SNAPSHOT/servlet/authorization/architecture.html#authz-hierarchical-roles

Current Behavior

Docs reference the now deprecated setRoleHierarchy and don't explain how to use AuthorizationManagerFactory instead.

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 with the hierarchical-roles section in the authorization architecture documentation and read the linked AbstractSecurityExpressionHandler API entry for setRoleHierarchy. Investigate the referenced AuthorizationManagerFactory and update that section to explain the replacement configuration, with no remaining guidance that relies on the deprecated method.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.