SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Application Security
Authorization Models
Adinath Raveendra Raj
UJUG, September 17, 2015
www.acciente.com
Overview
● Introduction
● Historical Context
● Different Authorization Models
● Java Security Frameworks
CIA Principle
● Confidentiality
– Restricting the disclosure of sensitive information to authorized
persons. Can be seen as privacy.
● Integrity
– Ensuring/detecting that sensitive information is not maliciously altered
or tampered by unauthorized or authorized persons.
● Availability
– Ensuring continued access to information. Redundancy. High
availability.
What is an Authorization Model?
What is Authorization?
Authorization vs. Authentication
● Authentication is about verifying the identity of a user
(more generally called a subject).
● Authorization is about controlling what resources a user
has access to, after successful authentication.
● Authorization is not authentication.
What is an Authorization Model?
Authorization Model
A model for granting (or denying) users access
to resources.
Historical Context
● Background
– Emerged in the 1960s and 1970s in DoD systems
– The focus was on confidentiality
● MAC
– Mandatory Access Control
– Centrally administered, non-discretionary (not DAC)
– Most government systems used MAC
● DAC
– Discretionary Access Control
– Delegated authority to administer (not MAC)
– Unix File System permission
Historical Context
●
Background
– Emerging focus on integrity over confidentiality for commercial systems
● ACL
– Access Control List
– Emerged from the need to restrict access at the resource level
● RBAC
– Role-based Access Control
– Defined in 1992 to better address the security needs of commercial organizations
●
ABAC
– Attribute-based Access Control
– Allows incorporating dynamic factors into the access decision, for example, time of day
●
OACC
– Object ACcess Control
– It is the model used by OACC Java Security Framework released in 2014.
Access Control List (ACL)
● How does it work?
– A list of user-permission pairs (the ACL) is associated with a resource.
– An entry in the list is sometimes called an ACE (Access Control Entry).
– Each entry in the list is a user and a permission.
– Example: (john-doe, read)
● Some applications
– File system security in Windows NT, Linux, BSD, Solaris, Mac OS X.
– Network configuration in Amazon EC2.
● Comments
– Efficient to check if a user is authorized to a resource.
– Extremely inefficient to determine all resources a given user has access to.
– Difficult to manage complex topologies.
Role-based Access Control (RBAC)
● How does it work?
– Each user is assigned one or more roles
– Permissions are assigned to roles instead of directly to user
– Essentially the user inherits the permissions from the assigned roles
● The NIST model for RBAC specifies 4 levels of RBAC capability
– Level 1 - Flat RBAC
– Level 2 - Hierarchical RBAC
– Level 3 - Constrained RBAC
– Level 4 - Symmetric RBAC
●
Widespread poor practice
– Users are assigned to roles, and security is checked by checking for membership in the role
● Comments
– Can be centrally administered or distributed
– Complex topologies are easier to maintain than ACL
– Supports all the capabilities of ACL (J. Barkley, 1997)
– RBAC Level 4 supports "before the fact" audits
– Permissions are static compared to ABAC
Attribute-based Access Control
(ABAC)
● How does it work?
– Access is determined by evaluating a policy on attributes
associated with the user, target object and possibly the
environment
● Comments
– Access decision can take into dynamic variables such as time of
day
– Difficult to audit, very difficult to determine what users have access
to a resource
– Evaluating an access request can be potentially very performance
intensive (to collect the attributes needed for the decision)
Object Access Control (OACC)
● How does it work?
– Both users and secured entities are resources
– A resource is of a resource type and is contained within a domain
– A resource may have permissions on domains and resources
– A resource can inherit permissions from one or more resources
● This is the security model used by the open-source OACC Java Security
Framework released in 2014.
● Comments
– Designed to support multi-tenant systems
– Can be centrally administered or distributed
– Supports of RBAC Level 1, 2 and 4
– Supports ACL and ACLg
Java Security Frameworks
MAC DAC ACL ACLg RBAC RBAC level
Apache Shiro Yes No Yes Yes No --
OACC Yes Yes Yes Yes Yes Level 1, 2 and 4
Spring Security Yes No Yes Yes No --

Contenu connexe

Similaire à Application Security -- Authorization Models

Week No 13 Access Control Part 1.pptx
Week No 13 Access Control Part 1.pptxWeek No 13 Access Control Part 1.pptx
Week No 13 Access Control Part 1.pptxXhamiiiCH
 
Authorisation: Concepts and Implementation
Authorisation: Concepts and ImplementationAuthorisation: Concepts and Implementation
Authorisation: Concepts and ImplementationOmar Bashir
 
Access Control: Principles and Practice
Access Control: Principles and PracticeAccess Control: Principles and Practice
Access Control: Principles and PracticeNabeel Yoosuf
 
Kolegov tkachenko-Non-Invasive Elimination of Logical Access Control Vulnerab...
Kolegov tkachenko-Non-Invasive Elimination of Logical Access Control Vulnerab...Kolegov tkachenko-Non-Invasive Elimination of Logical Access Control Vulnerab...
Kolegov tkachenko-Non-Invasive Elimination of Logical Access Control Vulnerab...Positive Hack Days
 
E gov security_tut_session_11
E gov security_tut_session_11E gov security_tut_session_11
E gov security_tut_session_11Mustafa Jarrar
 
Non-Invasive Elimination of Logical Access Control Vulnerabilities in Web A...
Non-Invasive Elimination of  Logical Access Control  Vulnerabilities in Web A...Non-Invasive Elimination of  Logical Access Control  Vulnerabilities in Web A...
Non-Invasive Elimination of Logical Access Control Vulnerabilities in Web A...Denis Kolegov
 
Access Control Fundamentals
Access Control FundamentalsAccess Control Fundamentals
Access Control FundamentalsSetiya Nugroho
 
Design for security in operating system
Design for security in operating systemDesign for security in operating system
Design for security in operating systemBhagyashree Barde
 
information security(authentication application, Authentication and Access Co...
information security(authentication application, Authentication and Access Co...information security(authentication application, Authentication and Access Co...
information security(authentication application, Authentication and Access Co...Zara Nawaz
 
access-control-basics-murat-kantarcioglu.pdf
access-control-basics-murat-kantarcioglu.pdfaccess-control-basics-murat-kantarcioglu.pdf
access-control-basics-murat-kantarcioglu.pdfNohaNagy5
 
Security for cloud native workloads
Security for cloud native workloadsSecurity for cloud native workloads
Security for cloud native workloadsRuncy Oommen
 
OWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object ReferenceOWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object ReferenceNarudom Roongsiriwong, CISSP
 
Database managementsystemes_Unit-7.pptxe
Database managementsystemes_Unit-7.pptxeDatabase managementsystemes_Unit-7.pptxe
Database managementsystemes_Unit-7.pptxechnrketan
 
Least privilege, access control, operating system security
Least privilege, access control, operating system securityLeast privilege, access control, operating system security
Least privilege, access control, operating system securityG Prachi
 
IRJET- A Review On - Controlchain: Access Control using Blockchain
IRJET- A Review On - Controlchain: Access Control using BlockchainIRJET- A Review On - Controlchain: Access Control using Blockchain
IRJET- A Review On - Controlchain: Access Control using BlockchainIRJET Journal
 

Similaire à Application Security -- Authorization Models (20)

Week No 13 Access Control Part 1.pptx
Week No 13 Access Control Part 1.pptxWeek No 13 Access Control Part 1.pptx
Week No 13 Access Control Part 1.pptx
 
Isys20261 lecture 12
Isys20261 lecture 12Isys20261 lecture 12
Isys20261 lecture 12
 
S5-Authorization
S5-AuthorizationS5-Authorization
S5-Authorization
 
Authorisation: Concepts and Implementation
Authorisation: Concepts and ImplementationAuthorisation: Concepts and Implementation
Authorisation: Concepts and Implementation
 
Access Control: Principles and Practice
Access Control: Principles and PracticeAccess Control: Principles and Practice
Access Control: Principles and Practice
 
4_5949547032388570388.ppt
4_5949547032388570388.ppt4_5949547032388570388.ppt
4_5949547032388570388.ppt
 
Cache Security- The Basics
Cache Security- The BasicsCache Security- The Basics
Cache Security- The Basics
 
Kolegov tkachenko-Non-Invasive Elimination of Logical Access Control Vulnerab...
Kolegov tkachenko-Non-Invasive Elimination of Logical Access Control Vulnerab...Kolegov tkachenko-Non-Invasive Elimination of Logical Access Control Vulnerab...
Kolegov tkachenko-Non-Invasive Elimination of Logical Access Control Vulnerab...
 
E gov security_tut_session_11
E gov security_tut_session_11E gov security_tut_session_11
E gov security_tut_session_11
 
Non-Invasive Elimination of Logical Access Control Vulnerabilities in Web A...
Non-Invasive Elimination of  Logical Access Control  Vulnerabilities in Web A...Non-Invasive Elimination of  Logical Access Control  Vulnerabilities in Web A...
Non-Invasive Elimination of Logical Access Control Vulnerabilities in Web A...
 
Access Control Fundamentals
Access Control FundamentalsAccess Control Fundamentals
Access Control Fundamentals
 
Design for security in operating system
Design for security in operating systemDesign for security in operating system
Design for security in operating system
 
information security(authentication application, Authentication and Access Co...
information security(authentication application, Authentication and Access Co...information security(authentication application, Authentication and Access Co...
information security(authentication application, Authentication and Access Co...
 
access-control-basics-murat-kantarcioglu.pdf
access-control-basics-murat-kantarcioglu.pdfaccess-control-basics-murat-kantarcioglu.pdf
access-control-basics-murat-kantarcioglu.pdf
 
Security for cloud native workloads
Security for cloud native workloadsSecurity for cloud native workloads
Security for cloud native workloads
 
dos_security_final
dos_security_finaldos_security_final
dos_security_final
 
OWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object ReferenceOWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object Reference
 
Database managementsystemes_Unit-7.pptxe
Database managementsystemes_Unit-7.pptxeDatabase managementsystemes_Unit-7.pptxe
Database managementsystemes_Unit-7.pptxe
 
Least privilege, access control, operating system security
Least privilege, access control, operating system securityLeast privilege, access control, operating system security
Least privilege, access control, operating system security
 
IRJET- A Review On - Controlchain: Access Control using Blockchain
IRJET- A Review On - Controlchain: Access Control using BlockchainIRJET- A Review On - Controlchain: Access Control using Blockchain
IRJET- A Review On - Controlchain: Access Control using Blockchain
 

Dernier

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Dernier (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Application Security -- Authorization Models

  • 1. Application Security Authorization Models Adinath Raveendra Raj UJUG, September 17, 2015 www.acciente.com
  • 2. Overview ● Introduction ● Historical Context ● Different Authorization Models ● Java Security Frameworks
  • 3. CIA Principle ● Confidentiality – Restricting the disclosure of sensitive information to authorized persons. Can be seen as privacy. ● Integrity – Ensuring/detecting that sensitive information is not maliciously altered or tampered by unauthorized or authorized persons. ● Availability – Ensuring continued access to information. Redundancy. High availability.
  • 4. What is an Authorization Model?
  • 6. Authorization vs. Authentication ● Authentication is about verifying the identity of a user (more generally called a subject). ● Authorization is about controlling what resources a user has access to, after successful authentication. ● Authorization is not authentication.
  • 7. What is an Authorization Model?
  • 8. Authorization Model A model for granting (or denying) users access to resources.
  • 9. Historical Context ● Background – Emerged in the 1960s and 1970s in DoD systems – The focus was on confidentiality ● MAC – Mandatory Access Control – Centrally administered, non-discretionary (not DAC) – Most government systems used MAC ● DAC – Discretionary Access Control – Delegated authority to administer (not MAC) – Unix File System permission
  • 10. Historical Context ● Background – Emerging focus on integrity over confidentiality for commercial systems ● ACL – Access Control List – Emerged from the need to restrict access at the resource level ● RBAC – Role-based Access Control – Defined in 1992 to better address the security needs of commercial organizations ● ABAC – Attribute-based Access Control – Allows incorporating dynamic factors into the access decision, for example, time of day ● OACC – Object ACcess Control – It is the model used by OACC Java Security Framework released in 2014.
  • 11. Access Control List (ACL) ● How does it work? – A list of user-permission pairs (the ACL) is associated with a resource. – An entry in the list is sometimes called an ACE (Access Control Entry). – Each entry in the list is a user and a permission. – Example: (john-doe, read) ● Some applications – File system security in Windows NT, Linux, BSD, Solaris, Mac OS X. – Network configuration in Amazon EC2. ● Comments – Efficient to check if a user is authorized to a resource. – Extremely inefficient to determine all resources a given user has access to. – Difficult to manage complex topologies.
  • 12. Role-based Access Control (RBAC) ● How does it work? – Each user is assigned one or more roles – Permissions are assigned to roles instead of directly to user – Essentially the user inherits the permissions from the assigned roles ● The NIST model for RBAC specifies 4 levels of RBAC capability – Level 1 - Flat RBAC – Level 2 - Hierarchical RBAC – Level 3 - Constrained RBAC – Level 4 - Symmetric RBAC ● Widespread poor practice – Users are assigned to roles, and security is checked by checking for membership in the role ● Comments – Can be centrally administered or distributed – Complex topologies are easier to maintain than ACL – Supports all the capabilities of ACL (J. Barkley, 1997) – RBAC Level 4 supports "before the fact" audits – Permissions are static compared to ABAC
  • 13. Attribute-based Access Control (ABAC) ● How does it work? – Access is determined by evaluating a policy on attributes associated with the user, target object and possibly the environment ● Comments – Access decision can take into dynamic variables such as time of day – Difficult to audit, very difficult to determine what users have access to a resource – Evaluating an access request can be potentially very performance intensive (to collect the attributes needed for the decision)
  • 14. Object Access Control (OACC) ● How does it work? – Both users and secured entities are resources – A resource is of a resource type and is contained within a domain – A resource may have permissions on domains and resources – A resource can inherit permissions from one or more resources ● This is the security model used by the open-source OACC Java Security Framework released in 2014. ● Comments – Designed to support multi-tenant systems – Can be centrally administered or distributed – Supports of RBAC Level 1, 2 and 4 – Supports ACL and ACLg
  • 15. Java Security Frameworks MAC DAC ACL ACLg RBAC RBAC level Apache Shiro Yes No Yes Yes No -- OACC Yes Yes Yes Yes Yes Level 1, 2 and 4 Spring Security Yes No Yes Yes No --