Search in sources :

Example 31 with User

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

the class SparseUserDatabaseMBean method findUser.

/**
 * Return the MBean Name for the specified user name (if any);
 * otherwise return <code>null</code>.
 *
 * @param username User name to look up
 * @return the user object name
 */
public String findUser(String username) {
    UserDatabase database = (UserDatabase) this.resource;
    User user = database.findUser(username);
    if (user == null) {
        return null;
    }
    try {
        ObjectName oname = MBeanUtils.createObjectName(managedUser.getDomain(), user);
        if (database.isSparse() && !mserver.isRegistered(oname)) {
            MBeanUtils.createMBean(user);
        }
        return oname.toString();
    } catch (Exception e) {
        throw new IllegalArgumentException(sm.getString("userMBean.createError.user", username), e);
    }
}
Also used : User(org.apache.catalina.User) UserDatabase(org.apache.catalina.UserDatabase) ObjectName(javax.management.ObjectName)

Example 32 with User

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

the class SparseUserDatabaseMBean method removeUser.

/**
 * Remove an existing user and destroy the corresponding MBean.
 *
 * @param username User name to remove
 */
public void removeUser(String username) {
    UserDatabase database = (UserDatabase) this.resource;
    User user = database.findUser(username);
    if (user == null) {
        return;
    }
    try {
        MBeanUtils.destroyMBean(user);
        database.removeUser(user);
    } catch (Exception e) {
        throw new IllegalArgumentException(sm.getString("userMBean.destroyError.user", username), e);
    }
}
Also used : User(org.apache.catalina.User) UserDatabase(org.apache.catalina.UserDatabase)

Example 33 with User

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

the class SparseUserDatabaseMBean method getUsers.

/**
 * @return the MBean Names of all users defined in this database.
 */
public String[] getUsers() {
    UserDatabase database = (UserDatabase) this.resource;
    List<String> results = new ArrayList<>();
    Iterator<User> users = database.getUsers();
    while (users.hasNext()) {
        User user = users.next();
        results.add(findUser(user.getUsername()));
    }
    return results.toArray(new String[0]);
}
Also used : User(org.apache.catalina.User) UserDatabase(org.apache.catalina.UserDatabase) ArrayList(java.util.ArrayList)

Example 34 with User

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

the class DataSourceUserDatabaseMBean method removeUserRole.

/**
 * Remove specified role from the user.
 * @param username The user name
 * @param rolename The role name
 */
public void removeUserRole(String username, String rolename) {
    UserDatabase database = (UserDatabase) this.resource;
    User user = database.findUser(username);
    Role role = database.findRole(rolename);
    if (user != null && role != null) {
        user.removeRole(role);
    }
}
Also used : Role(org.apache.catalina.Role) User(org.apache.catalina.User) UserDatabase(org.apache.catalina.UserDatabase)

Example 35 with User

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

the class DataSourceUserDatabaseMBean method getUsers.

/**
 * @return the names of all users defined in this database.
 */
public String[] getUsers() {
    UserDatabase database = (UserDatabase) this.resource;
    List<String> results = new ArrayList<>();
    Iterator<User> users = database.getUsers();
    while (users.hasNext()) {
        User user = users.next();
        results.add(user.getUsername());
    }
    return results.toArray(new String[0]);
}
Also used : User(org.apache.catalina.User) UserDatabase(org.apache.catalina.UserDatabase) ArrayList(java.util.ArrayList)

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