Spring Security - Project Modules



Spring Security codebase is divided into multiple jars based on different functionalities and their dependencies on third party libraries. In case of Maven, we need to set the required dependencies accordingly. Following is the list of jars that constitutes the Spring Security project.

  • Core − spring-security-core.jar

  • Web − spring-security-web.jar

  • Config − spring-security-config.jar

  • LDAP − spring-security-ldap.jar

  • ACL − spring-security-acl.jar

  • CAS − spring-security-cas-client.jar

  • OpenID − spring-security-openid.jar

  • OpenID − spring-security-web.jar

Let's explore details of each jar of Spring Security.

Core − spring-security-core.jar

Core jar contains top level packages required by any application using Spring Security. It supports standalone applications, remote clients, service layer for method security and user provisioning using JDBC. Following packages are part of core jar containing core classes for authentication, access control, remoting support and basic provisioning classes.

  • org.springframework.security.core

  • org.springframework.security.access

  • org.springframework.security.authentication

  • org.springframework.security.provisioning

  • org.springframework.security.remoting

Web − spring-security-web.jar

Web jar provides web authentication services, URL based access control. It supports Servlet API. Following package is part of web jar containing filter classes and other web security related classes.

  • org.springframework.security.web

Config − spring-security-config.jar

Config jar carries security namespace parsing codebase, It is needed in case of Spring Security XML namespace is used for configuration. Following package is part of config jar.

  • org.springframework.security.config

LDAP − spring-security-ldap.jar

LDAP jar provides ldap authentication services and ldap provisioning code. It is required when we're to use LDAP authentication or LDAP managed entries are to be used. Following package is part of ldap jar.

  • org.springframework.security.ldap

ACL − spring-security-acl.jar

ACL jar provides specialized Domain Object ACL implementation. It is used to provide securty to domain specific object instances in the application. Following package is part of acl jar.

  • org.springframework.security.acl

CAS − spring-security-cas-client.jar

CAS jar provides CAS client integration classes. It is required in case of CAS Single Sign-on Server is to be integrated with Spring Security Web authentication. Following package is part of cas jar.

  • org.springframework.security.cas

OpenId − spring-security-openid.jar

OpenId jar provides OpenId web authentication services, and is used to authenticate users against external OpenId server. Following package is part of openid jar.

  • org.springframework.security.openid

Advertisements