/* * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Abstract level security interception classes which are responsible for enforcing the * configured security constraints for a secure object. * <p> * A <i>secure object</i> is a term frequently used throughout the security * system. It does <b>not</b> 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 Spring Security. * For example, one secure object would be <code>MethodInvocation</code>, * whilst another would be HTTP * {@code org.springframework.security.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. * <p>Each secure object typically has its own interceptor package. * Each package usually includes a concrete security interceptor (which subclasses * {@link org.springframework.security.access.intercept.AbstractSecurityInterceptor}) and an * appropriate {@link org.springframework.security.access.SecurityMetadataSource} * for the type of resources the secure object represents. */ package org.springframework.security.access.intercept;