Actually enforces the security and ties the whole security system together.

A secure object is a term frequently used throughout the security system. It does not refer to a business object that is being secured, but instead refers to some infrastructure object that can have security facilities provided for it by the Acegi Security System for Spring. For example, one secure object would be `MethodInvocation`, whilst another would be HTTP {@link org.acegisecurity.intercept.web.FilterInvocation}. Note these are infrastructure objects and their design allows them to represent a large variety of actual resources that might need to be secured, such as business objects or HTTP request URLs.

Each secure object typically has its own `org.acegisecurity.intercept` package. Each package usually includes a concrete security interceptor (which subclasses {@link org.acegisecurity.intercept.AbstractSecurityInterceptor}, an appropriate {@link org.acegisecurity.intercept.ObjectDefinitionSource} for the type of resources the secure object represents, and a property editor to populate the `ObjectDefinitionSource`.

It is simple to create new secure object types, given the `AbstractSecurityInterceptor` provides the majority of the logic and other specialised packages provide the authentication, authorization, run-as replacement management and `ContextHolder` population.