Package com.tll.server.filter

Source Code of com.tll.server.filter.FilterSecurityInterceptor

/**
* The Logic Lab
*/
package com.tll.server.filter;

import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.security.intercept.web.FilterInvocationDefinitionSource;
import org.springframework.security.intercept.web.FilterInvocationDefinitionSourceEditor;

import com.tll.server.SecurityContext;

/**
* FilterSecurityInterceptor
* @author jpk
*/
// TODO fix deprecation warning
@SuppressWarnings("deprecation")
public class FilterSecurityInterceptor extends AbstractSecurityFilter {

  protected static final Log log = LogFactory.getLog(FilterSecurityInterceptor.class);
 
  private org.springframework.security.intercept.web.FilterSecurityInterceptor wrapped;

  @Override
  public void init(FilterConfig config) throws ServletException {
    log.debug("Initializing the FilterSecurityInterceptor..");
    final SecurityContext sc = getSecurityContext(config);
    wrapped.setAuthenticationManager(sc.getAuthenticationManager());
    wrapped.setAccessDecisionManager(sc.getHttpRequestAccessDecisionManager());

    final String ods = config.getInitParameter("objectDefinitionSource");
    if(ods == null) {
      throw new Error("The init parameter 'objectDefinitionSource' must be declared");
    }
    final FilterInvocationDefinitionSourceEditor editor = new FilterInvocationDefinitionSourceEditor();
    editor.setAsText(ods);
    final FilterInvocationDefinitionSource fids = (FilterInvocationDefinitionSource) editor.getValue();
    wrapped.setObjectDefinitionSource(fids);
  }

  @Override
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
      ServletException {
    log.debug("FilterSecurityInterceptor filtering..");
    wrapped.doFilter(request, response, chain);
  }

}
TOP

Related Classes of com.tll.server.filter.FilterSecurityInterceptor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.