- Hands-On Spring Security 5 for Reactive Applications
- Tomcy John
- 274字
- 2021-07-23 18:59:24
Authorization
Once the user is validated in terms of who they claim to be, the next aspect, what the user has access to, needs to be ascertained. This process of making sure what the user is allowed to do within the application is called authorization.
In line with authentication architecture, as seen earlier, authorization also has a manager, AccessDecisionManager. Spring Security has three built-in implementations for this: AffirmativeBased, ConsensusBased, and UnanimousBased. AccessDecisionManager works by delegating to a chain of AccessDecisionVoter. Authorization-related Spring Security classes/interfaces are shown in the following diagram:
In Spring Security, authorization to a secured resource is granted by invoking voters and then tallying the votes received. The three built-in implementations tally the votes received in different manners:
- AffirmativeBased: If at least one voter votes, the user is given access to the secured resource
- ConsensusBased: If a clear consensus is reached between the voters and their votes, then the user is given access to the secured resource
- UnanimousBased: If all the voters vote, then the user is given access to the secured resource
Spring Security provides two authorization approaches:
- Web URL: Incoming URL (specific URL or regular expression)-based authorization
- Method: Method signature based on which access is controlled
If your serving layer exposes only RESTful endpoints and the data in your application is properly categorized as resources (complying with REST principles), using a Web URL approach can be considered. If your application just exposes endpoints (REST-based, I would call) not really complying with REST principles, you can consider using method-based authorization.
- API安全實戰(zhàn)
- 工業(yè)互聯(lián)網(wǎng)安全防護(hù)與展望
- 黑客攻防與電腦安全從新手到高手(微視頻+火力升級版)
- Enterprise Cloud Security and Governance
- Testing and Securing Android Studio Applications
- 隱私計算
- Falco云原生安全:Falco原理、實踐與擴展
- Mastering Reverse Engineering
- Bug Bounty Hunting Essentials
- 云計算安全:關(guān)鍵技術(shù)、原理及應(yīng)用
- 黑客攻防與電腦安全從新手到高手(超值版)
- 紅藍(lán)攻防:技術(shù)與策略(原書第3版)
- 密碼朋克:自由與互聯(lián)網(wǎng)的未來
- Hands-On Bug Hunting for Penetration Testers
- 反黑風(fēng)暴:黑客社會工程學(xué)攻防演練