Schnittstellen, die JACC unterstützen
WebSphere Application Server stellt die Schnittstellen "RoleConfigurationFactory" und "RoleConfiguration" bereit, die den Schnittstellen "PolicyConfigurationFactory" und "PolicyConfiguration" gleichen, damit die in der Bindungsdatei gespeicherten Informationen während der Installation an den Provider weitergegeben werden können. Die Implementierung dieser Schnittstellen ist optional.
Schnittstelle "RoleConfiguration":
RoleConfiguration
- com.ibm.wsspi.security.authorization.RoleConfiguration
/**
* Mit diese Schnittstelle wird der Inhalt der Berechtigungstabelle in der Bindungsdatei
* während der Anwendungsinstallation weitergegeben. Die Implementierung dieser Schnittstelle
* ist optional. Wenn ein JACC-Provider diese Schnittstelle in einer Anwendung
* implementiert, werden die Richtliniendateien und der Inhalt der Berechtigungstabelle an den
* Provider weitergegeben. Wird diese Schnittstelle nicht implementiert, werden gemäß
* JACC-Spezifikation nur die Richtlinieninformationen weitergegeben.
* @ibm-spi
* @ibm-support-class-A1
*/
public interface RoleConfiguration
/**
* Hinzufügen der Benutzer zur Rolle in RoleConfiguration.
* Wenn es die Rolle in RoleConfiguration nicht gibt, wird sie
* erstellt.
* @param role - Name der Rolle
* @param users - Liste der Benutzernamen
* @exception RoleConfigurationException - Falls die Benutzer nicht
* hinzugefügt werden können
*/
public void addUsersToRole(String role, List users)
throws RoleConfigurationException
/**
* Entfernen der Benutzer aus der Rolle in RoleConfiguration.
* @param role - Name der Rolle
* @param users - Liste der Benutzernamen
* @exception RoleConfigurationException - Falls die Benutzer nicht
* entfernt werden können
*/
public void removeUsersFromRole(String role, List users)
throws RoleConfigurationException
/**
* Hinzufügen der Gruppen zur Rolle in RoleConfiguration.
* Wenn es die Rolle in RoleConfiguration nicht gibt, wird sie
* erstellt.
* @param role - Name der Rolle
* @param groups - Liste der Gruppennamen
* @exception RoleConfigurationException - Falls die Gruppen nicht
* hinzugefügt werden können
*/
public void addGroupsToRole(String role, List groups)
throws RoleConfigurationException
/**
* Entfernen der Gruppen aus der Rolle in RoleConfiguration.
* @param role - Name der Rolle
* @param groups - Liste der Gruppennamen
* @exception RoleConfigurationException - Falls die Gruppen nicht
* entfernt werden können
*/
public void removeGroupsFromRole( String role, List groups)
throws RoleConfigurationException
/**
* Hinzufügen aller zur Rolle in RoleConfiguration.
* Wenn es die Rolle in RoleConfiguration nicht gibt, wird sie
* erstellt.
* @param role - Name der Rolle
* @exception RoleConfigurationException - Falls nicht alle hinzugefügt
* werden können
*/
public void addEveryoneToRole(String role)
throws RoleConfigurationException
/**
* Entfernen aller aus der Rolle in RoleConfiguration.
* @param role - Name der Rolle
* @exception RoleConfigurationException - Falls nicht alle entfernt
* werden können
*/
public void removeEveryoneFromRole( String role)
throws RoleConfigurationException
/**
* Hinzufügen aller authentifizierten Benutzer zur Rolle in
* RoleConfiguration.
* Wenn es die Rolle in RoleConfiguration nicht gibt, wird sie
* erstellt.
* @param role - Name der Rolle
* @exception RoleConfigurationException - Falls die authentifizierten Benutzer
* nicht hinzugefügt werden können
*/
public void addAuthenticatedUsersToRole(String role)
throws RoleConfigurationException
/**
* Entfernen aller authentifizierten Benutzer aus der Rolle in
* RoleConfiguration.
* @param role - Name der Rolle
* @exception RoleConfigurationException - Falls die authentifizierten Benutzer
* nicht entfernt werden können
*/
public void removeAuthenticatedUsersFromRole( String role)
throws RoleConfigurationException
/**
* Festschreiben der Änderungen in RoleConfiguration.
* @exception RoleConfigurationException - Falls die Änderungen nicht
* festgeschrieben werden können
*/
public void commit( )
throws RoleConfigurationException
/**
* Löschen von RoleConfiguration aus der RoleConfiguration-Factory.
* @exception RoleConfigurationException - Falls RoleConfiguration nicht
* gelöscht werden kann
*/
public void delete( )
throws RoleConfigurationException
/**
* Rückgabe der contextID von RoleConfiguration.
* @exception RoleConfigurationException - Falls die contextID nicht
* abgerufen werden können
*/
public String getContextID( )
throws RoleConfigurationException
Schnittstelle "RoleConfigurationFactory":
RoleConfigurationFactory
- com.ibm.wsspi.security.authorization.RoleConfigurationFactory
/**
* Mit dieser Schnittstelle werden die com.ibm.wsspi.security.authorization.RoleConfiguration-Objekte
* ausgehend von der Kontext-ID instanziiert. Die Kontext-ID ist mit der Richtlinienkontext-ID vergleichbar.
* Die Implementierung dieser Schnittstelle ist nur erforderlich, wenn die Schnittstelle
* RoleConfiguration implementiert wird.
*
* @ibm-spi
* @ibm-support-class-A1
*/
public interface RoleConfigurationFactory
/**
* Abrufen einer RoleConfiguration mit contextID von der RoleConfigurationFactory.
* Falls für die contextID in der RoleConfigurationFactory keine RoleConfiguration
* vorhanden ist, wird in der RoleConfigurationFactory eine RoleConfiguration mit
* contextID erstellt. Die contextID ist mit der PolicyContextID vergleichbar,
* enthält jedoch nicht den Modulnamen.
* Wenn remove auf true gesetzt ist, wird die alte RoleConfiguration entfernt und
* eine neue RoleConfiguration erstellt, die mit der contextID zurückgegeben wird.
* @return - RoleConfiguration-Objekt für diese contextID
* @param contextID - Kontext-ID von RoleConfiguration
* @param remove - true oder false
* @exception RoleConfigurationException - Falls RoleConfiguration nicht
* abgerufen werden kann
**/
public abstract com.ibm.ws.security.policy.RoleConfiguration
getRoleConfiguration(String contextID, boolean remove)
throws RoleConfigurationException
Provider "InitializeJACCProvider":
Wenn diese Schnittstelle vom Provider implementiert wird, wird sie von jedem Prozess aufgerufen, in dem der JACC-Provider für die Berechtigung verwendet werden kann. Alle während der Berechtigungsprüfung eingegebenen zusätzlichen Eigenschaften werden an den Provider übergeben. Der Provider kann mit diesen Informationen beispielsweise seinen Clientcode für die Kommunikation mit seinem Server oder Repository initialisieren. Die Methode "cleanup" wird beim Herunterfahren des Servers aufgerufen, um die Konfiguration zu bereinigen.
Deklaration:
Public-Interface InitializeJACCProvider
Beschreibung:
Diese Schnittstelle hat zwei Methoden. Der JACC-Provider kann die Schnittstelle implementieren. WebSphere Application Server ruft die Schnittstelle auf, um den JACC-Provider zu initialisieren. Der Name der Implementierungsklasse wird aus dem Wert der Systemeigenschaft "initializeJACCProviderClassName" abgerufen.
InitializeJACCProvider
- com.ibm.wsspi.security.authorization.InitializeJACCProvider
/**
* Initialisiert den JACC-Provider.
* @return - 0 für Erfolg
* @param props - Die angepassten Eigenschaften für diesen Provider werden an
* die Implementierungsklasse übergeben.
* @exception Exception - Für alle aufgetretenen Probleme
**/
public int initialize(java.util.Properties props)
throws Exception
/**
* Diese Methode für die Bereinigung des JACC-Providers wird bei
* einem Prozessstopp aufgerufen.
**/
public void cleanup()