Search in sources :

Example 46 with User

use of org.apache.catalina.User in project tomcat70 by apache.

the class GlobalResourcesLifecycleListener method createMBeans.

/**
 * Create the MBeans for the specified UserDatabase and its contents.
 *
 * @param name Complete resource name of this UserDatabase
 * @param database The UserDatabase to be processed
 *
 * @exception Exception if an exception occurs while creating MBeans
 */
protected void createMBeans(String name, UserDatabase database) throws Exception {
    // Create the MBean for the UserDatabase itself
    if (log.isDebugEnabled()) {
        log.debug("Creating UserDatabase MBeans for resource " + name);
        log.debug("Database=" + database);
    }
    try {
        MBeanUtils.createMBean(database);
    } catch (Exception e) {
        throw new IllegalArgumentException("Cannot create UserDatabase MBean for resource " + name, e);
    }
    // Create the MBeans for each defined Role
    Iterator<Role> roles = database.getRoles();
    while (roles.hasNext()) {
        Role role = roles.next();
        if (log.isDebugEnabled()) {
            log.debug("  Creating Role MBean for role " + role);
        }
        try {
            MBeanUtils.createMBean(role);
        } catch (Exception e) {
            throw new IllegalArgumentException("Cannot create Role MBean for role " + role, e);
        }
    }
    // Create the MBeans for each defined Group
    Iterator<Group> groups = database.getGroups();
    while (groups.hasNext()) {
        Group group = groups.next();
        if (log.isDebugEnabled()) {
            log.debug("  Creating Group MBean for group " + group);
        }
        try {
            MBeanUtils.createMBean(group);
        } catch (Exception e) {
            throw new IllegalArgumentException("Cannot create Group MBean for group " + group, e);
        }
    }
    // Create the MBeans for each defined User
    Iterator<User> users = database.getUsers();
    while (users.hasNext()) {
        User user = users.next();
        if (log.isDebugEnabled()) {
            log.debug("  Creating User MBean for user " + user);
        }
        try {
            MBeanUtils.createMBean(user);
        } catch (Exception e) {
            throw new IllegalArgumentException("Cannot create User MBean for user " + user, e);
        }
    }
}
Also used : Role(org.apache.catalina.Role) Group(org.apache.catalina.Group) User(org.apache.catalina.User) NamingException(javax.naming.NamingException) OperationNotSupportedException(javax.naming.OperationNotSupportedException)

Example 47 with User

use of org.apache.catalina.User in project tomcat70 by apache.

the class GroupMBean method getUsers.

/**
 * Return the MBean Names of all users that are members of this group.
 */
public String[] getUsers() {
    Group group = (Group) this.resource;
    ArrayList<String> results = new ArrayList<String>();
    Iterator<User> users = group.getUsers();
    while (users.hasNext()) {
        User user = null;
        try {
            user = users.next();
            ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), user);
            results.add(oname.toString());
        } catch (MalformedObjectNameException e) {
            IllegalArgumentException iae = new IllegalArgumentException("Cannot create object name for user " + user);
            iae.initCause(e);
            throw iae;
        }
    }
    return results.toArray(new String[results.size()]);
}
Also used : Group(org.apache.catalina.Group) MalformedObjectNameException(javax.management.MalformedObjectNameException) User(org.apache.catalina.User) ArrayList(java.util.ArrayList) ObjectName(javax.management.ObjectName)

Example 48 with User

use of org.apache.catalina.User in project tomcat by apache.

the class UserDatabaseRealm method getPassword.

/**
 * Return the password associated with the given principal's user name.
 */
@Override
protected String getPassword(String username) {
    UserDatabase database = getUserDatabase();
    if (database == null) {
        return null;
    }
    User user = database.findUser(username);
    if (user == null) {
        return null;
    }
    return user.getPassword();
}
Also used : User(org.apache.catalina.User) UserDatabase(org.apache.catalina.UserDatabase)

Example 49 with User

use of org.apache.catalina.User in project tomcat by apache.

the class UserDatabaseRealm method getPrincipal.

/**
 * Return the Principal associated with the given user name.
 */
@Override
protected Principal getPrincipal(String username) {
    UserDatabase database = getUserDatabase();
    if (database == null) {
        return null;
    }
    User user = database.findUser(username);
    if (user == null) {
        return null;
    } else {
        if (useStaticPrincipal) {
            return new GenericPrincipal(username, Arrays.asList(getRoles(user)));
        } else {
            return new UserDatabasePrincipal(user, database);
        }
    }
}
Also used : User(org.apache.catalina.User) UserDatabase(org.apache.catalina.UserDatabase)

Example 50 with User

use of org.apache.catalina.User in project tomcat by apache.

the class MemoryUserCreationFactory method removeRole.

/**
 * Remove the specified {@link Role} from this user database.
 *
 * @param role The role to be removed
 */
@Override
public void removeRole(Role role) {
    readLock.lock();
    try {
        Iterator<Group> groups = getGroups();
        while (groups.hasNext()) {
            Group group = groups.next();
            group.removeRole(role);
        }
        Iterator<User> users = getUsers();
        while (users.hasNext()) {
            User user = users.next();
            user.removeRole(role);
        }
        roles.remove(role.getRolename());
    } finally {
        readLock.unlock();
    }
}
Also used : Group(org.apache.catalina.Group) User(org.apache.catalina.User)

Aggregations

User (org.apache.catalina.User)63 UserDatabase (org.apache.catalina.UserDatabase)24 Group (org.apache.catalina.Group)21 Role (org.apache.catalina.Role)18 ArrayList (java.util.ArrayList)17 MalformedObjectNameException (javax.management.MalformedObjectNameException)12 ObjectName (javax.management.ObjectName)9 Test (org.junit.Test)5 Connection (java.sql.Connection)4 MBeanException (javax.management.MBeanException)4 RuntimeOperationsException (javax.management.RuntimeOperationsException)4 PreparedStatement (java.sql.PreparedStatement)3 SQLException (java.sql.SQLException)3 ResultSet (java.sql.ResultSet)2 Statement (java.sql.Statement)2 NamingException (javax.naming.NamingException)2 OperationNotSupportedException (javax.naming.OperationNotSupportedException)2 LoggingBaseTest (org.apache.catalina.startup.LoggingBaseTest)2 BufferedWriter (java.io.BufferedWriter)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1