RealmConfigpublic class RealmConfig extends Object Process realm initial configuration.
This class contains S1AS-specific initialization code for Realms, used
by RealmManager. |
Fields Summary |
---|
private static Logger | logger |
Methods Summary |
---|
public static void | createRealms(java.lang.String defaultRealm, AuthRealm[] realms)
assert(realms != null);
String goodRealm = null; // need at least one good realm
for (int i=0; i < realms.length; i++) {
AuthRealm aRealm = realms[i];
String realmName = aRealm.getName();
String realmClass = aRealm.getClassname();
assert (realmName != null);
assert (realmClass != null);
try {
ElementProperty[] realmProps =
aRealm.getElementProperty();
Properties props = new Properties();
for (int j=0; j < realmProps.length; j++) {
ElementProperty p = realmProps[j];
String name = p.getName();
String value = p.getValue();
props.setProperty(name, value);
}
Realm.instantiate(realmName, realmClass, props);
logger.fine("Configured realm: " + realmName);
if (goodRealm == null) {
goodRealm = realmName;
}
} catch (Exception e) {
logger.log(Level.WARNING,
"realmconfig.disable", realmName);
logger.log(Level.WARNING, "security.exception", e);
}
}
// done loading all realms, check that there is at least one
// in place and that default is installed, or change default
// to the first one loaded (arbitrarily).
if (goodRealm == null) {
logger.severe("realmconfig.nogood");
} else {
try {
Realm def = Realm.getInstance(defaultRealm);
if (def == null) {
defaultRealm = goodRealm;
}
} catch (Exception e) {
defaultRealm = goodRealm;
}
Realm.setDefaultRealm(defaultRealm);
logger.fine("Default realm is set to: "+ defaultRealm);
}
| public static void | createRealms()Load all configured realms from server.xml and initialize each
one. Initialization is done by calling Realm.initialize() with
its name, class and properties. The name of the default realm
is also saved in the Realm class for reference during server
operation.
This method superceeds the RI RealmManager.createRealms() method.
try {
logger.fine("Initializing configured realms.");
ConfigContext configContext =
ApplicationServer.getServerContext().getConfigContext();
assert(configContext != null);
Server configBean =
ServerBeansFactory.getServerBean(configContext);
assert(configBean != null);
SecurityService securityBean =
ServerBeansFactory.getSecurityServiceBean(configContext);
assert(securityBean != null);
// grab default realm name
String defaultRealm = securityBean.getDefaultRealm();
// get set of auth-realms and process each
AuthRealm[] realms = securityBean.getAuthRealm();
assert(realms != null);
createRealms(defaultRealm, realms);
} catch (Exception e) {
logger.log(Level.SEVERE, "realmconfig.nogood", e);
}
|
|