Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2013 eXo Platform SAS.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
   * the License, or (at your option) any later version.
   *
   * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.web.login;
 
 
 
 
 public class FilterDisabledLoginModule extends AbstractLoginModule {
 
     private static final Log log = ExoLogger.getLogger(FilterDisabledLoginModule.class);

    
JACC get context method.
 
     private static Method getContextMethod;
 
     public static final String DISABLED_USER_NAME = "_disabledUserName";
 
     static {
         try {
             Class<?> policyContextClass = Thread.currentThread().getContextClassLoader()
                     .loadClass("javax.security.jacc.PolicyContext");
              = policyContextClass.getDeclaredMethod("getContext"String.class);
         } catch (ClassNotFoundException ignore) {
             .debug("JACC not found ignoring it"ignore);
         } catch (Exception e) {
             .error("Could not obtain JACC get context method"e);
         }
     }
 
     @Override
     public boolean login() throws LoginException {
         .debug("In login of FilterDisabledLoginModule.");
 
         try {
             Callback[] callbacks = new Callback[] { new NameCallback("Username") };
             .handle(callbacks);
 
             String username = ((NameCallbackcallbacks[0]).getName();
             if (username != null) {
                 OrganizationService service = (OrganizationServicegetContainer().getComponentInstanceOfType(
                         OrganizationService.class);
 
                 UserHandler uHandler = service.getUserHandler();
                 User user = uHandler.findUserByName(username.);
 
                 if (user == null) {
                     .debug("user {0} doesn't exists. FilterDisabledLoginModule will be ignored."username);
                 } else if (user instanceof UserImpl && !((UserImpluser).isEnabled()) {
                     HttpServletRequest request = getCurrentHttpServletRequest();
                     if (request != null) {
                         request.setAttribute(username);
                     }
 
                     throw new LoginException("Can't authenticate. user " + username + " is disabled");
                 }
             } else {
                 .debug("No username has been committed. FilterDisabledLoginModule will be ignored.");
             }
 
             return true;
         } catch (final Exception e) {
             .warn(e.getMessage());
             throw new LoginException(e.getMessage());
         }
     }
 
         HttpServletRequest request = null;
 
         // JBoss way
         if ( != null) {
            try {
                request = (HttpServletRequest.invoke(null"javax.servlet.http.HttpServletRequest");
            } catch (Throwable e) {
                .error("LoginModule error. Turn off session credentials checking with proper configuration option of "
                        + "LoginModule set to false");
                .error(thise);
            }
        } else {
            // Tomcat way (Assumed that ServletAccessValve has been configured in context.xml)
            try {
                // TODO: improve this
                Class<?> clazz = Thread.currentThread().getContextClassLoader()
                        .loadClass("org.gatein.sso.agent.tomcat.ServletAccess");
                Method getRequestMethod = clazz.getDeclaredMethod("getRequest");
                request = (HttpServletRequestgetRequestMethod.invoke(null);
            } catch (Exception e) {
                .error("Unexpected exception when trying to obtain HttpServletRequest from ServletAccess thread-local"e);
            }
        }
        .trace("Returning HttpServletRequest {0}"request);
        return request;
    }
    @Override
    public boolean commit() throws LoginException {
        return true;
    }
    @Override
    public boolean abort() throws LoginException {
        return true;
    }
    @Override
    public boolean logout() throws LoginException {
        return true;
    }
    @Override
    protected Log getLogger() {
        return ;
    }
New to GrepCode? Check out our FAQ X