Package com.tll.server.filter

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

/**
* 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.providers.anonymous.AnonymousAuthenticationProvider;
import org.springframework.security.userdetails.memory.UserAttribute;
import org.springframework.security.userdetails.memory.UserAttributeEditor;

/**
* AnonymousProcessingFilter
* @author jpk
*/
public class AnonymousProcessingFilter extends AbstractSecurityFilter {

  protected static final Log log = LogFactory.getLog(AnonymousProcessingFilter.class);

  /**
   * The wrapped {@link AnonymousAuthenticationProvider}.
   */
  private final org.springframework.security.providers.anonymous.AnonymousProcessingFilter wrapped =
      new org.springframework.security.providers.anonymous.AnonymousProcessingFilter();

  @Override
  public void init(FilterConfig config) throws ServletException {
    log.debug("Initializing AnonymousProcessingFilter..");
    final String k = config.getInitParameter("key");
    if(k == null) {
      throw new ServletException("The init parameter 'key' must be declared");
    }
    wrapped.setKey(k);

    final String ua = config.getInitParameter("userAttribute");
    if(ua == null) {
      throw new Error("The init parameter 'userAttribute' must be declared");
    }
    final UserAttributeEditor uae = new UserAttributeEditor();
    uae.setAsText(ua);
    final UserAttribute userAttribute = (UserAttribute) uae.getValue();
    wrapped.setUserAttribute(userAttribute);
  }

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

}
TOP

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

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.