4 Replies Latest reply on Jan 10, 2011 8:11 AM by simkam

    custom login module and admin-console

    simkam Newbie

      Hi,

       

      My custom login module authenticates user against active directory and assigns roles from database. It works great with jmx-console but I can't get it work with admin-console. No error, no exception, just  HTTP Status 404 - /admin-console/loggedIn.seam after succesfull authentication

       

      Login Module

       

       

      public class LdapDBLoginModule implements LoginModule {
      
          private static final String LDAP_URL = "ldap-url";
          private static final String LDAP_DOMAIN = "ldap-domain";
          private static final String LDAP_BASE_DN = "ldap-base-dn";
          private static final String APPLICATION_NAME = "application-name";
          private static final String DS_JNDI_NAME = "ds-jndi-name";
          private static final String QRY_PARAM_UZIVATEL = "uzivatel";
          private static final String QRY_PARAM_SKUPINA = "skupina";
          private static final String ROLE_QUERY = "SELECT nazev_role as role, uzivatel as uziv "
                  + "FROM jbosslogin_pristupy pristup "
                  + "LEFT JOIN jbosslogin_role role on pristup.role=role.id "
                  + "LEFT JOIN jbosslogin_uzivatele uziv on uziv.username=pristup.uzivatel "
                  + "WHERE role.aplikace=? and uziv.typ=?";
          private Subject subject;
          private CallbackHandler callbackHandler;
          private Map sharedState;
          private Map options;
          private boolean success = false;
          private MyPrincipal userPrincipal;
          private Set<String> roles;
          private String ldapUrl;
          private String ldapBaseDn;
          private String dsJndiName;
          private String applicationName;
          private String ldapDomain;
          private static final Logger logger = Logger.getLogger(LdapDBLoginModule.class.getName());
      
          /**
           * Incializace
           * @param subject
           * @param callbackHandler
           * @param sharedState
           * @param options
           */
          @Override
          public void initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, Map options) {
              logger.log(Level.INFO, "initialize login");
              this.subject = subject;
              this.callbackHandler = callbackHandler;
              this.sharedState = sharedState;
              this.options = options;
              this.ldapUrl = (String) options.get(LDAP_URL);
              this.ldapBaseDn = (String) options.get(LDAP_BASE_DN);
              this.dsJndiName = (String) options.get(DS_JNDI_NAME);
              if (dsJndiName == null) {
                  dsJndiName = "java:/DefaultDS";
              }
              this.applicationName = (String) options.get(APPLICATION_NAME);
              this.ldapDomain = (String) options.get(LDAP_DOMAIN);
              roles = new HashSet<String>();
              logger.log(Level.INFO, "application {0}", applicationName);
              logger.log(Level.INFO, "dsJndiName {0}", dsJndiName);
      
          }
      
          @Override
          public boolean login() throws LoginException {
              logger.log(Level.INFO, "initialize login");
              if (callbackHandler == null) {
                  logger.log(Level.INFO, "Chyba prihlaseni. Neni dostupny CallbackHandler");
                  throw new LoginException("Chyba prihlaseni. Neni dostupny CallbackHandler");
              }
              NameCallback nc = new NameCallback("User name: ", "guest");
              PasswordCallback pc = new PasswordCallback("Password: ", false);
      
              Callback[] callbacks = {nc, pc};
      
              String username = null;
              String password = null;
      
              try {
                  callbackHandler.handle(callbacks);
                  username = nc.getName();
                  password = new String(pc.getPassword());
      
                  logger.log(Level.INFO, "uzivatel {0}", username);
                  logger.log(Level.INFO, "heslo {0}", password);
      
                  try {
                      LdapControl ldapControl = new LdapControl(ldapUrl, username + "@" + ldapDomain, password, ldapBaseDn);
                      try {
                          ADUser adUser = ldapControl.getUserByUsername(username, ZdasFilters.ZDAS_USER_BY_USERNAME);
                          userPrincipal = parseAdUser(adUser);
                          roles = getDataZDb(username, adUser.getMemberOf());
                          if (roles.isEmpty()) {
                              logger.log(Level.INFO, "Prihlaseni uzivatele {0} se nezdarilo, overeni proti databazi pristupu.", username);
                              throw new FailedLoginException("Prihlaseni uzivatele " + username + " se nezdarilo, overeni proti databazi pristupu.");
                          }
                      } catch (AdZaznamNenalezenException azne) {
                          userPrincipal = new MyPrincipal(username, "", "", username, "");
                      }
                      success = true;
                      logger.log(Level.INFO, "Uzivatel {0}prihlasenen. LoginOk: {1}", new Object[]{username, success});
                      return true;
                  } catch (AuthenticationException ae) {
                      logger.log(Level.INFO, "Prihlaseni uzivatele {0} se nezdarilo, overeni proti domene.", username);
                      throw new FailedLoginException("Prihlaseni uzivatele " + username + " se nezdarilo, overeni proti domene.");
                  } catch (NamingException ne) {
                      logger.log(Level.INFO, "Chyba prihlaseni. Chyba spojeni s LDAP");
                      LoginException le = new LoginException("Chyba prihlaseni. Chyba spojeni s LDAP");
                      le.initCause(ne);
                      throw le;
                  }
              } catch (IOException ioe) {
                  logger.log(Level.INFO, "Chyba prihlaseni. Nepodarilo se precist username/password");
                  LoginException le = new LoginException("Chyba prihlaseni. Nepodarilo se precist username/password");
                  le.initCause(ioe);
                  throw le;
              } catch (UnsupportedCallbackException uce) {
                  logger.log(Level.INFO, "CallbackHandler nepodporuje: {0}", uce.getCallback());
                  LoginException le = new LoginException("CallbackHandler nepodporuje: " + uce.getCallback());
                  le.initCause(uce);
                  throw le;
              }
          }
      
          @Override
          public boolean commit() throws LoginException {
              logger.log(Level.INFO, "commit, loginOk: {0}", success);
              if (!success) {
                  return false;
              }
              Set principals = subject.getPrincipals();
              principals.add(userPrincipal);
              MyGroup group = new MyGroup("Roles");
              logger.log(Level.INFO, "Role: {0}", roles);
              for (String str : roles) {
                  MyGroup g = new MyGroup(str);
                  g.addMember(group);
                  principals.add(g);
                  group.addMember(g);
              }
              principals.add(group);
              return true;
          }
      
          @Override
          public boolean abort() throws LoginException {
              logger.log(Level.INFO, "abort login");
              success = false;
              logout();
              return true;
          }
      
          @Override
          public boolean logout() throws LoginException {
              logger.log(Level.INFO, "logout");
              Set principals = subject.getPrincipals();
              principals.remove(userPrincipal);
      
              MyGroup group = new MyGroup("Roles");
              for (String str : roles) {
                  MyGroup myGroup = new MyGroup(str);
                  principals.remove(myGroup);
                  group.addMember(myGroup);
              }
              principals.remove(group);
              return true;
          }
      
          private MyPrincipal parseAdUser(ADUser adUser) {
              String desc = adUser.getDescription();
              String osobniCislo = null;
              if (desc != null) {
                  if (desc.contains(";")) {
                      osobniCislo = desc.split(";")[0];
                  } else {
                      osobniCislo = desc;
                  }
              }
              return new MyPrincipal(adUser.getsAMAccountName(), adUser.getName(), adUser.getSn(), adUser.getDisplayName(), osobniCislo);
          }
      
          private Set<String> getDataZDb(String username, List<String> skupiny) throws LoginException {
              Connection conn = null;
              PreparedStatement ps = null;
              ResultSet rs = null;
              try {
                  InitialContext ic = new InitialContext();
                  DataSource ds = (DataSource) ic.lookup(dsJndiName);
                  conn = ds.getConnection();
                  ps = conn.prepareStatement(ROLE_QUERY);
                  ps.setString(1, applicationName);
                  ps.setString(2, QRY_PARAM_UZIVATEL);
      
                  rs = ps.executeQuery();
                  Set<String> set = new HashSet<String>();
                  while (rs.next()) {
                      String u = rs.getString("uziv");
                      if (u.trim().equals(username)) {
                          set.add(rs.getString("role"));
                      }
                  }
      
                  ps.setString(2, QRY_PARAM_SKUPINA);
                  rs = ps.executeQuery();
      
                  while (rs.next()) {
                      String u = rs.getString("uziv");
                      for (String skup : skupiny) {
                          if (u.trim().equals(skup)) {
                              set.add(rs.getString("role"));
                              break;
                          }
                      }
                  }
                  return set;
      
              } catch (NamingException ne) {
                  logger.log(Level.INFO, "Chyba prihlasni. Chyba datasource.");
                  LoginException le = new LoginException("Chyba prihlasni. Chyba datasource.");
                  le.initCause(ne);
                  throw le;
              } catch (SQLException sqle) {
                  logger.log(Level.INFO, "Chyba prihlasni. Chyba query.", sqle);
                  LoginException le = new LoginException("Chyba prihlasni. Chyba query.");
                  le.initCause(sqle);
                  throw le;
              } finally {
                  if (rs != null) {
                      try {
                          rs.close();
                      } catch (SQLException e) {
                      }
                  }
                  if (ps != null) {
                      try {
                          ps.close();
                      } catch (SQLException e) {
                      }
                  }
                  if (conn != null) {
                      try {
                          conn.close();
                      } catch (SQLException ex) {
                      }
                  }
              }
          }
      }
      

       

      Any idea?

       

      Also I'm not sure about commit method. Maybe there is a mistake.

      (jboss-6.0.0.Final)

        • 1. Re: custom login module and admin-console
          Wolfgang Knauf Master

          Hi,

           

          did you try to activate logging of the security layer? See the Security FAQ, question 4: http://community.jboss.org/wiki/SecurityFAQ

          Hopefully, you will see errors in the console output now.

           

          Best regards

           

          Wolfgang

          • 2. Re: custom login module and admin-console
            simkam Newbie

            Yes, I have tried it.

             

            jboss-logging.xml

            ...
              <console-handler name="CONSOLE" autoflush="true" target="System.out">
                  <error-manager>
                     <only-once/>
                  </error-manager>
            
                  <level name="TRACE"/>
            
                  <formatter>
                     <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] %s%E%n"/>
                  </formatter>
               </console-handler>
            ...
              <logger category="org.jboss.security">
                 <level name="TRACE" />
              </logger>
            ...
            

             

            Still no errors.

             

            server.log after start and attempt to login

            2011-01-05 17:18:10,894 INFO  [org.jboss.bootstrap.impl.base.server.AbstractServer] (Thread-2) JBossAS [6.0.0.Final "Neo"] Started in 42s:232ms
            2011-01-05 17:18:16,324 TRACE [org.jboss.security.deployers.AclConfigParsingDeployer] (http-0.0.0.0-8080-1) Deploying: vfs:///usr/local/jboss-6.0.0.Final/common/deploy/admin-console.war
            2011-01-05 17:18:16,343 TRACE [org.jboss.security.deployers.AclConfigParsingDeployer] (http-0.0.0.0-8080-1) Deployed:  vfs:///usr/local/jboss-6.0.0.Final/common/deploy/admin-console.war
            2011-01-05 17:18:16,343 TRACE [org.jboss.security.deployers.XacmlConfigParsingDeployer] (http-0.0.0.0-8080-1) Deploying: vfs:///usr/local/jboss-6.0.0.Final/common/deploy/admin-console.war
            2011-01-05 17:18:16,344 TRACE [org.jboss.security.deployers.XacmlConfigParsingDeployer] (http-0.0.0.0-8080-1) Deployed:  vfs:///usr/local/jboss-6.0.0.Final/common/deploy/admin-console.war
            2011-01-05 17:18:19,643 TRACE [org.jboss.security.jacc.JBossPolicyConfiguration] (http-0.0.0.0-8080-1) ctor, contextID=admin-console.war
            2011-01-05 17:18:19,645 TRACE [org.jboss.security.jacc.JBossPolicyConfiguration] (http-0.0.0.0-8080-1) addToUncheckedPolicy, p=(javax.security.jacc.WebResourcePermission /)
            2011-01-05 17:18:19,645 TRACE [org.jboss.security.jacc.JBossPolicyConfiguration] (http-0.0.0.0-8080-1) addToUncheckedPolicy, p=(javax.security.jacc.WebUserDataPermission /)
            2011-01-05 17:18:19,645 TRACE [org.jboss.security.jacc.JBossPolicyConfiguration] (http-0.0.0.0-8080-1) addToUncheckedPolicy, p=(javax.security.jacc.WebUserDataPermission /)
            2011-01-05 17:18:19,645 TRACE [org.jboss.security.jacc.JBossPolicyConfiguration] (http-0.0.0.0-8080-1) addToRole, roleName=JBossAdmin, p=(javax.security.jacc.WebRoleRefPermission Faces Servlet JBossAdmin)
            2011-01-05 17:18:19,646 TRACE [org.jboss.security.jacc.JBossPolicyConfiguration] (http-0.0.0.0-8080-1) addToRole, roleName=JBossAdmin, p=(javax.security.jacc.WebRoleRefPermission  JBossAdmin)
            2011-01-05 17:18:19,646 TRACE [org.jboss.security.jacc.JBossPolicyConfiguration] (http-0.0.0.0-8080-1) addToRole, roleName=JBossAdmin, p=(javax.security.jacc.WebRoleRefPermission Faces Servlet JBossAdmin)
            2011-01-05 17:18:19,646 TRACE [org.jboss.security.jacc.JBossPolicyConfiguration] (http-0.0.0.0-8080-1) addToRole, roleName=JBossAdmin, p=(javax.security.jacc.WebRoleRefPermission  JBossAdmin)
            2011-01-05 17:18:19,646 TRACE [org.jboss.security.jacc.JBossPolicyConfiguration] (http-0.0.0.0-8080-1) commit:admin-console.war
            2011-01-05 17:18:19,707 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (http-0.0.0.0-8080-1) deploy, ctxPath=/admin-console
            2011-01-05 17:18:19,821 INFO  [org.apache.catalina.core.StandardContext] (http-0.0.0.0-8080-1) The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.
            2011-01-05 17:18:19,968 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (http-0.0.0.0-8080-1) Initializing Mojarra 2.0.3 ( b05) for context '/admin-console'
            2011-01-05 17:18:30,013 TRACE [org.jboss.security.SecurityRolesAssociation] (http-0.0.0.0-8080-1) Setting threadlocal:{}
            2011-01-05 17:18:30,021 INFO  [javax.servlet.ServletContextListener] (http-0.0.0.0-8080-1) Welcome to Seam 2.1.0.SP1
            2011-01-05 17:18:32,602 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/async, package: org.jboss.seam.async, prefix: org.jboss.seam.async
            2011-01-05 17:18:32,603 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/framework, package: org.jboss.seam.framework, prefix: org.jboss.seam.core.framework
            2011-01-05 17:18:32,603 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/theme, package: org.jboss.seam.theme, prefix: org.jboss.seam.theme
            2011-01-05 17:18:32,603 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/security, package: org.jboss.seam.security.management, prefix: org.jboss.seam.security
            2011-01-05 17:18:32,603 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/bpm, package: org.jboss.seam.bpm, prefix: org.jboss.seam.bpm
            2011-01-05 17:18:32,604 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/mail, package: org.jboss.seam.mail, prefix: org.jboss.seam.mail
            2011-01-05 17:18:32,604 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/security, package: org.jboss.seam.security, prefix: org.jboss.seam.security
            2011-01-05 17:18:32,604 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/web, package: org.jboss.seam.web, prefix: org.jboss.seam.web
            2011-01-05 17:18:32,604 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/captcha, package: org.jboss.seam.captcha, prefix: org.jboss.seam.captcha
            2011-01-05 17:18:32,604 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/navigation, package: org.jboss.seam.navigation, prefix: org.jboss.seam.navigation
            2011-01-05 17:18:32,604 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/core, package: org.jboss.seam.core, prefix: org.jboss.seam.core
            2011-01-05 17:18:32,604 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/international, package: org.jboss.seam.international, prefix: org.jboss.seam.international
            2011-01-05 17:18:32,605 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/cache, package: org.jboss.seam.cache, prefix: org.jboss.seam.cache
            2011-01-05 17:18:32,605 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/jms, package: org.jboss.seam.jms, prefix: org.jboss.seam.jms
            2011-01-05 17:18:32,605 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/ui, package: org.jboss.seam.ui, prefix: org.jboss.seam.ui
            2011-01-05 17:18:32,605 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/transaction, package: org.jboss.seam.transaction, prefix: org.jboss.seam.transaction
            2011-01-05 17:18:32,605 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/security, package: org.jboss.seam.security.permission, prefix: org.jboss.seam.security
            2011-01-05 17:18:32,605 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/drools, package: org.jboss.seam.drools, prefix: org.jboss.seam.drools
            2011-01-05 17:18:32,605 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/document, package: org.jboss.seam.document, prefix: org.jboss.seam.document
            2011-01-05 17:18:32,605 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Namespace: http://jboss.com/products/seam/persistence, package: org.jboss.seam.persistence, prefix: org.jboss.seam.persistence
            2011-01-05 17:18:32,607 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) reading /WEB-INF/components.xml
            2011-01-05 17:18:32,654 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) reading properties from: /seam.properties
            2011-01-05 17:18:32,655 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) reading properties from: /jndi.properties
            2011-01-05 17:18:32,657 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) initializing Seam
            2011-01-05 17:18:32,709 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.core.locale
            2011-01-05 17:18:32,714 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.persistence.persistenceProvider
            2011-01-05 17:18:32,715 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.web.isUserInRole
            2011-01-05 17:18:32,716 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.core.locale
            2011-01-05 17:18:32,718 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.web.parameters
            2011-01-05 17:18:32,718 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.core.manager
            2011-01-05 17:18:32,725 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.transaction.synchronizations
            2011-01-05 17:18:32,728 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.web.userPrincipal
            2011-01-05 17:18:32,729 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.core.resourceLoader
            2011-01-05 17:18:32,729 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) two components with same name, higher precedence wins: org.jboss.seam.core.expressions
            2011-01-05 17:18:32,748 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.init, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Init
            2011-01-05 17:18:32,786 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) Installing components...
            2011-01-05 17:18:32,811 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: DefaultPageControlSettingsUIBean, scope: APPLICATION, type: JAVA_BEAN, class: org.rhq.core.gui.model.DefaultPageControlSettingsUIBean
            2011-01-05 17:18:32,837 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: addNewOpenMap, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.configuration.resource.AddNewOpenMapMemberPropertyToResourceConfigurationUIBean
            2011-01-05 17:18:32,851 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: bootstrapAction, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.BootstrapAction
            2011-01-05 17:18:32,864 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: commonActionUtil, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.CommonActionUtil
            2011-01-05 17:18:32,879 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: configHelperFactory, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.configuration.resource.ConfigHelperFactory
            2011-01-05 17:18:32,892 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: contentDisplayAction, scope: SESSION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.SingleResourceContentAction
            2011-01-05 17:18:32,901 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: contentHistoryManager, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.on.embedded.bean.history.content.ContentHistoryManagerBean
            2011-01-05 17:18:32,925 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: createContentBackedResourceAction, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.content.CreateContentBackedResourceAction
            2011-01-05 17:18:32,935 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: datascrollerUI, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.DatascrollerUIBean
            2011-01-05 17:18:32,938 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: debugAction, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.DebugAction
            2011-01-05 17:18:32,940 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: discoveryAction, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.DiscoveryAction
            2011-01-05 17:18:32,943 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: exceptionAction, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.ExceptionAction
            2011-01-05 17:18:32,947 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: historyManager, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.on.embedded.bean.history.operation.OperationHistoryManagerBean
            2011-01-05 17:18:32,951 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: idChunkFactory, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.configuration.resource.IdChunkFactory
            2011-01-05 17:18:32,955 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: inventoryEventListener, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.on.embedded.EmbeddedInventoryEventListener
            2011-01-05 17:18:32,958 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: metricAction, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.MetricAction
            2011-01-05 17:18:32,997 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: navigationAction, scope: SESSION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.NavigationAction
            2011-01-05 17:18:33,002 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: navigationContent, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.NavigationContent
            2011-01-05 17:18:33,006 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: operationAction, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.SingleResourceOperationAction
            2011-01-05 17:18:33,010 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.async.asynchronousExceptionHandler, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.async.AsynchronousExceptionHandler
            2011-01-05 17:18:33,015 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.async.dispatcher, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.async.ThreadPoolDispatcher
            2011-01-05 17:18:33,025 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.captcha.captcha, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.captcha.Captcha
            2011-01-05 17:18:33,027 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.captcha.captchaImage, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.captcha.CaptchaImage
            2011-01-05 17:18:33,027 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.ConversationIdGenerator, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationIdGenerator
            2011-01-05 17:18:33,030 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.contexts, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Contexts
            2011-01-05 17:18:33,031 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.conversation, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.Conversation
            2011-01-05 17:18:33,033 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.conversationEntries, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationEntries
            2011-01-05 17:18:33,034 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.conversationListFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationList
            2011-01-05 17:18:33,036 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.conversationPropagation, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationPropagation
            2011-01-05 17:18:33,037 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.conversationStackFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationStack
            2011-01-05 17:18:33,037 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.events, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.core.Events
            2011-01-05 17:18:33,038 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.expressions, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesExpressions
            2011-01-05 17:18:33,039 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.interpolator, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Interpolator
            2011-01-05 17:18:33,042 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.locale, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.international.Locale
            2011-01-05 17:18:33,047 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.manager, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesManager
            2011-01-05 17:18:33,048 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.resourceBundle, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.ResourceBundle
            2011-01-05 17:18:33,049 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.resourceLoader, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.ResourceLoader
            2011-01-05 17:18:33,052 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.core.validators, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Validators
            2011-01-05 17:18:33,053 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.document.documentStore, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.document.DocumentStore
            2011-01-05 17:18:33,060 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.exception.exceptions, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.exception.Exceptions
            2011-01-05 17:18:33,065 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.faces.dataModels, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.DataModels
            2011-01-05 17:18:33,071 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.faces.facesContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesContext
            2011-01-05 17:18:33,072 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.faces.facesPage, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesPage
            2011-01-05 17:18:33,073 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.faces.httpError, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.HttpError
            2011-01-05 17:18:33,073 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.faces.redirect, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.faces.Redirect
            2011-01-05 17:18:33,075 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.faces.renderer, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.ui.facelet.FaceletsRenderer
            2011-01-05 17:18:33,076 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.faces.switcher, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.faces.Switcher
            2011-01-05 17:18:33,077 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.faces.uiComponent, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.UiComponent
            2011-01-05 17:18:33,077 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.faces.validation, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.faces.Validation
            2011-01-05 17:18:33,078 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.framework.currentDate, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.framework.CurrentDate
            2011-01-05 17:18:33,080 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.framework.currentDatetime, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.framework.CurrentDatetime
            2011-01-05 17:18:33,103 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.framework.currentTime, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.framework.CurrentTime
            2011-01-05 17:18:33,119 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.graphicImage.image, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.ui.graphicImage.Image
            2011-01-05 17:18:33,121 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.international.localeSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.international.LocaleSelector
            2011-01-05 17:18:33,124 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.international.messagesFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.international.Messages
            2011-01-05 17:18:33,137 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.international.statusMessages, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesMessages
            2011-01-05 17:18:33,140 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.international.timeZone, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.international.TimeZone
            2011-01-05 17:18:33,152 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.international.timeZoneSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.international.TimeZoneSelector
            2011-01-05 17:18:33,154 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.mail.mailSession, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.mail.MailSession
            2011-01-05 17:18:33,163 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.navigation.pages, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.navigation.Pages
            2011-01-05 17:18:33,181 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.navigation.safeActions, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.navigation.SafeActions
            2011-01-05 17:18:33,182 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.persistence.persistenceContexts, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.persistence.PersistenceContexts
            2011-01-05 17:18:33,198 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.persistence.persistenceProvider, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.persistence.HibernatePersistenceProvider
            2011-01-05 17:18:33,216 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.configurationFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.security.Configuration
            2011-01-05 17:18:33,218 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.credentials, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.Credentials
            2011-01-05 17:18:33,219 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.entityPermissionChecker, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.EntityPermissionChecker
            2011-01-05 17:18:33,221 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.facesSecurityEvents, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.FacesSecurityEvents
            2011-01-05 17:18:33,222 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.identifierPolicy, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.IdentifierPolicy
            2011-01-05 17:18:33,239 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.identity, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.Identity
            2011-01-05 17:18:33,250 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.identityManager, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.security.management.IdentityManager
            2011-01-05 17:18:33,252 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.management.roleAction, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.RoleAction
            2011-01-05 17:18:33,255 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.management.roleSearch, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.RoleSearch
            2011-01-05 17:18:33,279 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.management.userAction, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.UserAction
            2011-01-05 17:18:33,294 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.management.userSearch, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.UserSearch
            2011-01-05 17:18:33,297 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.passwordHash, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.security.management.PasswordHash
            2011-01-05 17:18:33,298 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.permission.permissionSearch, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.action.PermissionSearch
            2011-01-05 17:18:33,317 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.permissionManager, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.PermissionManager
            2011-01-05 17:18:33,321 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.permissionMapper, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.PermissionMapper
            2011-01-05 17:18:33,322 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.persistentPermissionResolver, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.PersistentPermissionResolver
            2011-01-05 17:18:33,324 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.security.rememberMe, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.RememberMe
            2011-01-05 17:18:33,337 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.theme.themeFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.theme.Theme
            2011-01-05 17:18:33,340 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.theme.themeSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.theme.ThemeSelector
            2011-01-05 17:18:33,341 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.transaction.synchronizations, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.transaction.SeSynchronizations
            2011-01-05 17:18:33,353 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.transaction.transaction, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.transaction.Transaction
            2011-01-05 17:18:33,358 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.EntityConverter, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.ui.EntityConverter
            2011-01-05 17:18:33,359 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.entityIdentifierStore, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.ui.EntityIdentifierStore
            2011-01-05 17:18:33,371 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.entityLoader, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.ui.JpaEntityLoader
            2011-01-05 17:18:33,386 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.facelet.faceletCompiler, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.ui.facelet.FaceletCompiler
            2011-01-05 17:18:33,388 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.facelet.facesContextFactory, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.ui.facelet.RendererFacesContextFactory
            2011-01-05 17:18:33,390 WARN  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component class should be serializable: org.jboss.seam.ui.facelet.mockHttpSession
            2011-01-05 17:18:33,390 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.facelet.mockHttpSession, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.ui.facelet.HttpSessionManager
            2011-01-05 17:18:33,391 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.facelet.mockServletContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.ui.facelet.ServletContextManager
            2011-01-05 17:18:33,392 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.graphicImage.graphicImageResource, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.ui.graphicImage.GraphicImageResource
            2011-01-05 17:18:33,405 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.graphicImage.graphicImageStore, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.ui.graphicImage.GraphicImageStore
            2011-01-05 17:18:33,407 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.ui.resource.webResource, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.ui.resource.WebResource
            2011-01-05 17:18:33,412 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.ajax4jsfFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.Ajax4jsfFilter
            2011-01-05 17:18:33,413 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.ajax4jsfFilterInstantiator, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.ui.filter.Ajax4jsfFilterInstantiator
            2011-01-05 17:18:33,416 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.exceptionFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.ExceptionFilter
            2011-01-05 17:18:33,418 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.identityFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.IdentityFilter
            2011-01-05 17:18:33,419 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.isUserInRole, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.IsUserInRole
            2011-01-05 17:18:33,419 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.loggingFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.LoggingFilter
            2011-01-05 17:18:33,421 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.multipartFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.MultipartFilter
            2011-01-05 17:18:33,432 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.parameters, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.Parameters
            2011-01-05 17:18:33,434 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.redirectFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.RedirectFilter
            2011-01-05 17:18:33,435 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.servletContexts, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.web.ServletContexts
            2011-01-05 17:18:33,437 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.session, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.web.Session
            2011-01-05 17:18:33,449 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: org.jboss.seam.web.userPrincipal, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.UserPrincipal
            2011-01-05 17:18:33,450 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: resourceAction, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.ResourceAction
            2011-01-05 17:18:33,453 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: resourceCRUDAction, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.SingleResourceAction
            2011-01-05 17:18:33,470 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: resourceConfigurationUIBean, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.configuration.resource.ResourceConfigurationUIBean
            2011-01-05 17:18:33,473 WARN  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component class should be serializable: sessionInfoAction
            2011-01-05 17:18:33,474 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: sessionInfoAction, scope: SESSION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.SessionInfoAction
            2011-01-05 17:18:33,477 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: summaryAction, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.SummaryAction
            2011-01-05 17:18:33,488 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: tableManager, scope: PAGE, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.TableManager
            2011-01-05 17:18:33,491 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: templateDropDownPopulator, scope: EVENT, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.configuration.resource.TemplateDropDownPopulator
            2011-01-05 17:18:33,509 INFO  [org.jboss.seam.Component] (http-0.0.0.0-8080-1) Component: updateBackingContentAction, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.on.embedded.ui.content.UpdateBackingContentAction
            2011-01-05 17:18:33,524 INFO  [org.jboss.seam.contexts.Contexts] (http-0.0.0.0-8080-1) starting up: org.jboss.seam.security.persistentPermissionResolver
            2011-01-05 17:18:33,527 WARN  [org.jboss.seam.security.permission.PersistentPermissionResolver] (http-0.0.0.0-8080-1) no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
            2011-01-05 17:18:33,528 INFO  [org.jboss.seam.contexts.Contexts] (http-0.0.0.0-8080-1) starting up: org.jboss.seam.security.permissionMapper
            2011-01-05 17:18:33,528 INFO  [org.jboss.seam.contexts.Contexts] (http-0.0.0.0-8080-1) starting up: org.jboss.seam.navigation.pages
            2011-01-05 17:18:33,555 INFO  [org.jboss.seam.contexts.Contexts] (http-0.0.0.0-8080-1) starting up: org.jboss.seam.security.entityPermissionChecker
            2011-01-05 17:18:33,565 INFO  [org.jboss.seam.contexts.Contexts] (http-0.0.0.0-8080-1) starting up: bootstrapAction
            2011-01-05 17:18:34,861 INFO  [org.jboss.seam.contexts.Contexts] (http-0.0.0.0-8080-1) starting up: org.jboss.seam.security.facesSecurityEvents
            2011-01-05 17:18:34,862 INFO  [org.jboss.seam.init.Initialization] (http-0.0.0.0-8080-1) done initializing Seam
            2011-01-05 17:18:34,872 INFO  [org.jboss.seam.servlet.SeamFilter] (http-0.0.0.0-8080-1) Initializing filter: org.jboss.seam.web.loggingFilter
            2011-01-05 17:18:34,872 INFO  [org.jboss.seam.servlet.SeamFilter] (http-0.0.0.0-8080-1) Initializing filter: org.jboss.seam.web.ajax4jsfFilter
            2011-01-05 17:18:34,894 INFO  [org.ajax4jsf.cache.CacheManager] (http-0.0.0.0-8080-1) Selected [org.ajax4jsf.cache.LRUMapCacheFactory] cache factory
            2011-01-05 17:18:34,896 INFO  [org.ajax4jsf.cache.LRUMapCacheFactory] (http-0.0.0.0-8080-1) Creating LRUMap cache instance using parameters: {facelets.DEVELOPMENT=true, facelets.LIBRARIES=/WEB-INF/on.component.taglib.xml, org.jboss.on.embedded.LazyStartupListener=org.jboss.seam.servlet.SeamListener, com.sun.faces.duplicateJARPattern=^tmp\d+(\S*\.jar), javax.faces.CONFIG_FILES=/WEB-INF/navigation.xml, org.richfaces.SKIN=jboss-console, com.sun.faces.injectionProvider=org.jboss.web.jsf.integration.injection.JBossDelegatingInjectionProvider, resteasy.unwrapped.exceptions=javax.ejb.EJBException, javax.faces.STATE_SAVING_METHOD=server, javax.faces.DEFAULT_SUFFIX=.xhtml}
            2011-01-05 17:18:34,896 INFO  [org.ajax4jsf.cache.LRUMapCacheFactory] (http-0.0.0.0-8080-1) Creating LRUMap cache instance of default capacity
            2011-01-05 17:18:34,914 INFO  [org.ajax4jsf.cache.CacheManager] (http-0.0.0.0-8080-1) Selected [org.ajax4jsf.cache.LRUMapCacheFactory] cache factory
            2011-01-05 17:18:34,915 INFO  [org.ajax4jsf.cache.LRUMapCacheFactory] (http-0.0.0.0-8080-1) Creating LRUMap cache instance using parameters: {facelets.DEVELOPMENT=true, facelets.LIBRARIES=/WEB-INF/on.component.taglib.xml, org.jboss.on.embedded.LazyStartupListener=org.jboss.seam.servlet.SeamListener, com.sun.faces.duplicateJARPattern=^tmp\d+(\S*\.jar), javax.faces.CONFIG_FILES=/WEB-INF/navigation.xml, org.richfaces.SKIN=jboss-console, com.sun.faces.injectionProvider=org.jboss.web.jsf.integration.injection.JBossDelegatingInjectionProvider, resteasy.unwrapped.exceptions=javax.ejb.EJBException, javax.faces.STATE_SAVING_METHOD=server, javax.faces.DEFAULT_SUFFIX=.xhtml}
            2011-01-05 17:18:34,915 INFO  [org.ajax4jsf.cache.LRUMapCacheFactory] (http-0.0.0.0-8080-1) Creating LRUMap cache instance of default capacity
            2011-01-05 17:18:34,915 INFO  [org.jboss.seam.servlet.SeamFilter] (http-0.0.0.0-8080-1) Initializing filter: org.jboss.seam.web.redirectFilter
            2011-01-05 17:18:34,915 INFO  [org.jboss.seam.servlet.SeamFilter] (http-0.0.0.0-8080-1) Initializing filter: org.jboss.seam.web.exceptionFilter
            2011-01-05 17:18:34,915 INFO  [org.jboss.seam.servlet.SeamFilter] (http-0.0.0.0-8080-1) Initializing filter: org.jboss.seam.web.multipartFilter
            2011-01-05 17:18:34,915 INFO  [org.jboss.seam.servlet.SeamFilter] (http-0.0.0.0-8080-1) Initializing filter: org.jboss.seam.web.identityFilter
            2011-01-05 17:18:34,938 INFO  [org.jboss.seam.contexts.Contexts] (http-0.0.0.0-8080-1) starting up: org.jboss.seam.security.identity
            2011-01-05 17:18:34,941 INFO  [org.jboss.seam.contexts.Contexts] (http-0.0.0.0-8080-1) starting up: org.jboss.seam.web.session
            2011-01-05 17:18:34,941 INFO  [org.jboss.seam.contexts.Contexts] (http-0.0.0.0-8080-1) starting up: sessionInfoAction
            2011-01-05 17:18:36,858 TRACE [org.jboss.security.SecurityRolesAssociation] (http-0.0.0.0-8080-1) Setting threadlocal:null
            2011-01-05 17:18:36,893 TRACE [org.jboss.security.SecurityRolesAssociation] (http-0.0.0.0-8080-1) Setting threadlocal:{}
            2011-01-05 17:18:36,929 TRACE [org.jboss.security.SecurityRolesAssociation] (http-0.0.0.0-8080-1) Setting threadlocal:null
            2011-01-05 17:18:36,934 TRACE [org.jboss.security.SecurityRolesAssociation] (http-0.0.0.0-8080-1) Setting threadlocal:{}
            2011-01-05 17:18:37,207 TRACE [org.jboss.security.SecurityRolesAssociation] (http-0.0.0.0-8080-1) Setting threadlocal:null
            2011-01-05 17:18:44,779 TRACE [org.jboss.security.SecurityRolesAssociation] (http-0.0.0.0-8080-1) Setting threadlocal:{}
            2011-01-05 17:18:44,803 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] (http-0.0.0.0-8080-1) Begin getAppConfigurationEntry(jmx-console), size=11
            2011-01-05 17:18:44,804 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] (http-0.0.0.0-8080-1) End getAppConfigurationEntry(jmx-console), authInfo=AppConfigurationEntry[]:
            [0]
            LoginModule Class: cz.zdas.gif.ldapdbloginmodule.LdapDBLoginModule
            ControlFlag: LoginModuleControlFlag: required
            Options:
            name=ldap-domain, value=zdas.cz
            name=application-name, value=admin_console
            name=ldap-url, value=ldap://ad3:389
            name=ds-jndi-name, value=java:/MySqlJbossApl
            name=ldap-base-dn, value=DC=zdas,DC=cz
            
            2011-01-05 17:18:44,809 INFO  [cz.zdas.gif.ldapdbloginmodule.LdapDBLoginModule] (http-0.0.0.0-8080-1) initialize login
            2011-01-05 17:18:44,809 INFO  [cz.zdas.gif.ldapdbloginmodule.LdapDBLoginModule] (http-0.0.0.0-8080-1) application admin_console
            2011-01-05 17:18:44,809 INFO  [cz.zdas.gif.ldapdbloginmodule.LdapDBLoginModule] (http-0.0.0.0-8080-1) dsJndiName java:/MySqlJbossApl
            2011-01-05 17:18:44,810 INFO  [cz.zdas.gif.ldapdbloginmodule.LdapDBLoginModule] (http-0.0.0.0-8080-1) initialize login
            2011-01-05 17:18:44,811 INFO  [cz.zdas.gif.ldapdbloginmodule.LdapDBLoginModule] (http-0.0.0.0-8080-1) uzivatel simkam
            2011-01-05 17:18:44,956 INFO  [cz.zdas.gif.ldapdbloginmodule.LdapDBLoginModule] (http-0.0.0.0-8080-1) Uzivatel simkamprihlasenen. LoginOk: true
            2011-01-05 17:18:44,956 INFO  [cz.zdas.gif.ldapdbloginmodule.LdapDBLoginModule] (http-0.0.0.0-8080-1) commit, loginOk: true
            2011-01-05 17:18:44,958 INFO  [cz.zdas.gif.ldapdbloginmodule.LdapDBLoginModule] (http-0.0.0.0-8080-1) Role: [HttpInvoker, JBossAdmin]
            2011-01-05 17:18:44,960 INFO  [org.jboss.on.embedded.ui.BootstrapAction] (http-0.0.0.0-8080-1) Initializing Administration Console v1.4.0.SP2...
            2011-01-05 17:18:44,971 INFO  [org.rhq.core.pc.PluginContainer] (http-0.0.0.0-8080-1) Initializing Plugin Container v3.0.0...
            2011-01-05 17:18:48,585 INFO  [org.rhq.core.clientapi.agent.metadata.PluginDependencyGraph] (http-0.0.0.0-8080-1) Optional plugin [JBossAS] was requested by plugins [[Hibernate]] but it does not exist in the dependency graph yet and will be ignored
            2011-01-05 17:18:48,585 INFO  [org.rhq.core.clientapi.agent.metadata.PluginDependencyGraph] (http-0.0.0.0-8080-1) Optional plugin [JBossAS] was requested by plugins [[Infinispan]] but it does not exist in the dependency graph yet and will be ignored
            2011-01-05 17:18:50,541 INFO  [org.rhq.core.clientapi.agent.metadata.PluginMetadataParser] (http-0.0.0.0-8080-1) There is no resource type named [JBossAS Server] from a plugin named [JBossAS]. This is probably because that plugin is missing. Resource Type [Infinispan Cache Manager] will not have that missing type as a possible parent.
            2011-01-05 17:18:50,818 INFO  [org.rhq.core.clientapi.agent.metadata.PluginMetadataParser] (http-0.0.0.0-8080-1) There is no resource type named [JBossAS Server] from a plugin named [JBossAS]. This is probably because that plugin is missing. Resource Type [Hibernate Statistics] will not have that missing type as a possible parent.
            2011-01-05 17:18:50,819 INFO  [org.rhq.core.pc.inventory.InventoryManager] (http-0.0.0.0-8080-1) Initializing Inventory Manager...
            2011-01-05 17:18:50,885 INFO  [org.rhq.core.pc.inventory.InventoryManager] (http-0.0.0.0-8080-1) Detected new Platform [Resource[id=-2, type=Linux, key=jboss.zdas.cz, name=jboss.zdas.cz, parent=<null>, version=Linux 2.6.26-2-amd64]] - adding to local inventory...
            2011-01-05 17:18:50,916 INFO  [org.rhq.plugins.platform.LinuxPlatformComponent] (ResourceContainer.invoker.daemon-1) Internal yum server is disabled.
            2011-01-05 17:18:50,923 INFO  [org.rhq.core.pc.inventory.InventoryManager] (http-0.0.0.0-8080-1) Inventory Manager initialized.
            2011-01-05 17:18:50,937 INFO  [org.rhq.core.pc.inventory.ResourceFactoryManager] (http-0.0.0.0-8080-1) Initializing
            2011-01-05 17:18:50,937 INFO  [org.rhq.core.pc.content.ContentManager] (http-0.0.0.0-8080-1) Initializing Content Manager...
            2011-01-05 17:18:50,937 INFO  [org.rhq.core.pc.content.ContentManager] (http-0.0.0.0-8080-1) Content Manager initialized...
            2011-01-05 17:18:50,940 INFO  [org.rhq.core.pc.PluginContainer] (http-0.0.0.0-8080-1) Plugin Container initialized.
            2011-01-05 17:18:50,945 INFO  [org.jboss.on.embedded.manager.pc.PluginContainerResourceManager] (http-0.0.0.0-8080-1) Discovering Resources...
            2011-01-05 17:18:50,946 INFO  [org.rhq.core.pc.inventory.AutoDiscoveryExecutor] (InventoryManager.discovery-1) Executing server discovery scan...
            2011-01-05 17:18:54,317 TRACE [org.jboss.security.microcontainer.beans.metadata.ApplicationPolicyMetaDataFactory] (ResourceDiscoveryComponent.invoker.daemon-1) Generating metadata for application-policy profileservice
            2011-01-05 17:18:54,317 TRACE [org.jboss.security.microcontainer.beans.metadata.ApplicationPolicyMetaDataFactory] (ResourceDiscoveryComponent.invoker.daemon-1) Generating authentication metadata for policy profileservice
            2011-01-05 17:18:54,317 TRACE [org.jboss.security.microcontainer.beans.metadata.ApplicationPolicyMetaDataFactory] (ResourceDiscoveryComponent.invoker.daemon-1) Injecting security management JNDIBasedSecurityManagement into application-policy metadata
            2011-01-05 17:18:55,950 TRACE [org.jboss.security.microcontainer.beans.metadata.ApplicationPolicyMetaDataFactory] (ResourceDiscoveryComponent.invoker.daemon-1) Generating metadata for application-policy jboss-web-policy
            2011-01-05 17:18:55,951 TRACE [org.jboss.security.microcontainer.beans.metadata.ApplicationPolicyMetaDataFactory] (ResourceDiscoveryComponent.invoker.daemon-1) Generating authorization metadata for policy jboss-web-policy
            2011-01-05 17:18:55,951 TRACE [org.jboss.security.microcontainer.beans.metadata.ApplicationPolicyMetaDataFactory] (ResourceDiscoveryComponent.invoker.daemon-1) Injecting security management JNDIBasedSecurityManagement into application-policy metadata
            2011-01-05 17:18:55,968 TRACE [org.jboss.security.microcontainer.beans.metadata.ApplicationPolicyMetaDataFactory] (ResourceDiscoveryComponent.invoker.daemon-1) Generating metadata for application-policy jboss-ejb-policy
            2011-01-05 17:18:55,968 TRACE [org.jboss.security.microcontainer.beans.metadata.ApplicationPolicyMetaDataFactory] (ResourceDiscoveryComponent.invoker.daemon-1) Generating authorization metadata for policy jboss-ejb-policy
            2011-01-05 17:18:55,969 TRACE [org.jboss.security.microcontainer.beans.metadata.ApplicationPolicyMetaDataFactory] (ResourceDiscoveryComponent.invoker.daemon-1) Injecting security management JNDIBasedSecurityManagement into application-policy metadata
            2011-01-05 17:18:57,831 INFO  [org.rhq.core.pc.inventory.InventoryManager] (InventoryManager.discovery-1) Detected new Server [Resource[id=-3, type=JBossAS Server, key=/usr/local/jboss-6.0.0.Final/server/default, name=JBoss AS 6 (default), parent=<null>, version=6.0.0.Final]] - adding to local inventory...
            2011-01-05 17:18:58,201 INFO  [org.rhq.core.pc.inventory.AutoDiscoveryExecutor] (InventoryManager.discovery-1) Found 0 servers.
            2011-01-05 17:18:58,202 INFO  [org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor] (InventoryManager.discovery-1) Running runtime discovery scan rooted at [platform]
            2011-01-05 17:18:58,259 INFO  [org.rhq.core.pc.inventory.InventoryManager] (InventoryManager.discovery-1) Detected new Server [Resource[id=-4, type=JBoss AS JVM, key=JVM, name=JVM, parent=<null>, version=1.6.0_22]] - adding to local inventory...
            2011-01-05 17:18:58,273 INFO  [org.rhq.plugins.jmx.JMXServerComponent] (ResourceContainer.invoker.daemon-1) Starting connection to JMX Server JVM
            2011-01-05 17:18:59,737 INFO  [org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor] (InventoryManager.discovery-1) Scanned [0] servers and found [0] total descendant Resources.
            2011-01-05 17:18:59,746 TRACE [org.jboss.security.SecurityRolesAssociation] (http-0.0.0.0-8080-1) Setting threadlocal:null
            2011-01-05 17:18:59,749 INFO  [org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor] (InventoryManager.discovery-1) Running runtime discovery scan rooted at [platform]
            2011-01-05 17:19:00,311 INFO  [org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor] (InventoryManager.discovery-1) Scanned [0] servers and found [0] total descendant Resources.
            
            
            • 3. Re: custom login module and admin-console
              Wolfgang Knauf Master

              Hi,

               

              it seems the log file does not contain entries when trying to access "admin-console". Did you browse to the admin console during the log snippet? I assume so .

               

              In the security FAQ, there is also a snippet for the web layer:

               

              <category name="org.jboss.web.tomcat.security">
                 <priority value="TRACE"></priority>
              </category>

               

              Could you add this part to your "jboss-logging.xml"? If this brings the required info, I would update the FAQ section.

               

              Could you also post your "jboss-6.0.0.Final\server\default\conf\login-config.xml" content related to the application policy "jmx-console", as you probably modified this one to point to your custom login module?

               

              Best regards

               

              Wolfgang

              • 4. custom login module and admin-console
                simkam Newbie

                Hi,

                 

                No, I didn't browse admin console during the log snippet. I can't get into the admin console. I can see only HTTP 404 after logging in.

                I solved the 404. There was something wrong with my principal/group implementation, so I use org.jboss.security.SimplePrincipal/SimpleGroup.

                Now I can login without any problem.

                 

                Anyway, any log output would be helpful. Adding Trace level to org.jboss.web.tomcat.security didn't help.