Integrating XACML into Spring Security

Spring takes away some of the great complexities of JEE and is a more light-weight and agile framework. It enables enterprise-level applications to be built with plain POJOs. But Spring also introduces dependency injection and inversion of control as important vehicles to help meet requirements that are shared across multiple layers in an application. This is especially important from a security perspective since security typically is a cross-cutting concern.

Spring Security, a project of Spring, is aimed at providing authentication and authorization framework around the core Spring. It started its life as Acegi Security in 2003 before getting absorbed into the Spring framework. Recently we saw the release of version 4 of Spring Security.

Spring Security examines security as a cross-cutting concern and provides good separation between application logic and security and business logic. Architecturally and from an implementation point of view, Spring Security provides the right capabilities to support an XACML based externalized policy-driven access control architecture.

The ABAC Angle

Version 3 of Spring introduced the concept of Spring Expression Language (SpEL), a language that “supports querying and manipulating an object graph at runtime”. This can also be used to provide authorization support in the Spring security framework. While Spring Security comes with built-in expressions like hasRole, hasPermission etc. (that can be used in conjunction with Web and Method security expressions), the existing capability is still not enough to support policy-based, fine-grained, externalized access control systems, like XACML.

Axiomatics provides an SDK for customers who are interested in integrating XACML into their Spring and Spring Security framework based enterprise Java applications. In our webinar “Enhancing Spring Security”  we explore the approach and provide some details about the SDK. You can find the recording below:

Other Blogs

3 keys to re-evaluate your authorization management
On May 27, I had the pleasure to join the KuppingerCole KCLive event with several industry peers in a panel discussion about  “Enabling the Future...
How OAuth is related to Attribute Based Access Control
What is Authorization? Authorization, also referred to as Access Control, is the process that follows authentication (which checks your identity and ensures that you are...
Modern Enterprise Authorization Management System
Gartner has an interesting article titled “Modernize Your Runtime Authorization” that highlights some aspects you need from a modern enterprise authorization systems. Over the years...