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);
}
}
}
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()]);
}
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();
}
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);
}
}
}
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();
}
}
Aggregations