Interfaces utilisées pour prendre en charge JACC
WebSphere Application Server fournit les interfaces RoleConfigurationFactory et RoleConfiguration, comparables à PolicyConfigurationFactory et PolicyConfiguration afin de transmettre au fournisseur les informations stockées dans le fichier de liaisons lors de l'installation. L'implémentation de ces interfaces est facultative.
Interface RoleConfiguration :
RoleConfiguration
- com.ibm.wsspi.security.authorization.RoleConfiguration
/**
* Cette interface permet de transmettre les informations de la table d'autorisations
* définie dans le fichier de liaisons lors de l'installation de l'application. L'implémentation
* de cette interface est facultative. Lorsqu'un fournisseur JACC implémente cette interface,
* les règles et les informations de la table d'autorisations sont transmises au fournisseur.
* Si l'interface n'est pas implémentée, seules les informations sur les règles de gestion sont propagées selon
* les spécifications JACC.
* @ibm-spi
* @ibm-support-class-A1
*/
public interface RoleConfiguration
/**
* Ajoutez les utilisateurs au rôle dans RoleConfiguration.
* Si le rôle n'existe pas dans RoleConfiguration, il est créé.
* @param role : le nom du rôle
* @param users : la liste des noms d'utilisateurs.
* @exception RoleConfigurationException si les utilisateurs ne peuvent pas être ajoutés
*/
public void addUsersToRole(String role, List users)
throws RoleConfigurationException
/**
* Supprimez les utilisateurs du rôle dans RoleConfiguration.
* @param role : le nom du rôle
* @param users : la liste des noms d'utilisateurs.
* @exception RoleConfigurationException si les utilisateurs ne peuvent pas être supprimés.
*/
public void removeUsersFromRole(String role, List users)
throws RoleConfigurationException
/**
* Ajoutez les groupes au rôle dans RoleConfiguration.
* Si le rôle n'existe pas dans RoleConfiguration, il est créé.
* @param role : le nom du rôle
* @param groups : la liste des noms de groupes.
* @exception RoleConfigurationException si les groupes ne peuvent pas être ajoutés.
*/
public void addGroupsToRole(String role, List groups)
throws RoleConfigurationException
/**
* Supprimez les groupes du rôle dans RoleConfiguration.
* @param role : le nom du rôle
* @param groups : la liste des noms de groupes.
* @exception RoleConfigurationException si les groupes ne peuvent pas être supprimés.
*/
public void removeGroupsFromRole( String role, List groups)
throws RoleConfigurationException
/**
* Ajoutez "everyone" au rôle de RoleConfiguration.
* Si le rôle n'existe pas dans RoleConfiguration, il est créé.
* @param role : le nom du rôle
* @exception RoleConfigurationException si "everyone" n'est pas ajouté.
*/
public void addEveryoneToRole(String role)
throws RoleConfigurationException
/**
* Supprimez "everyone" du rôle de RoleConfiguration.
* @param role : le nom du rôle
* @exception RoleConfigurationException si "everyone" ne peut pas être supprimé.
*/
public void removeEveryoneFromRole( String role)
throws RoleConfigurationException
/**
* Ajoutez tous les utilisateurs authentifiés au rôle dans RoleConfiguration.
* Si le rôle n'existe pas dans RoleConfiguration, il est créé.
* @param role : le nom du rôle
* @exception RoleConfigurationException si les utilisateurs authentifiés ne peuvent
* pas être ajoutés.
*/
public void addAuthenticatedUsersToRole(String role)
throws RoleConfigurationException
/**
* Supprimez tous les utilisateurs authentifiés du rôle dans RoleConfiguration.
* @param role : le nom du rôle
* @exception RoleConfigurationException si les utilisateurs authentifiés ne peuvent
* pas être supprimés.
*/
public void removeAuthenticatedUsersFromRole( String role)
throws RoleConfigurationException
/**
* Cette opération valide les modifications de Roleconfiguration.
* @exception RoleConfigurationException si les modifications ne peuvent
* pas être validées.
*/
public void commit( )
throws RoleConfigurationException
/**
* Cette opération supprime RoleConfiguration de la fabrique RoleConfiguration.
* @exception RoleConfigurationException si RoleConfiguration ne peut pas
* être supprimé.
*/
public void delete( )
throws RoleConfigurationException
/**
* Cette opération renvoie l'élément contextID de RoleConfiguration.
* @exception RoleConfigurationException si contextID ne peut pas être
* obtenu.
*/
public String getContextID( )
throws RoleConfigurationException
Interface RoleConfigurationFactory :
RoleConfigurationFactory
- com.ibm.wsspi.security.authorization.RoleConfigurationFactory
/**
* Cette interface permet d'instancier les objets com.ibm.wsspi.security.authorization.RoleConfiguration
* en fonction de l'ID contexte comparable à l'ID contexte de règle.
* L'implémentation de cette interface est nécessaire uniquement si
* l'interface RoleConfiguration est implémentée.
*
* @ibm-spi
* @ibm-support-class-A1
*/
public interface RoleConfigurationFactory
/**
* Cette opération extrait RoleConfiguration avec contextID de
* RoleConfigurationfactory. Si RoleConfiguration n'existe pas
* pour l'élément contextID de RoleConfigurationFactory, un
* nouveau RoleConfiguration avec contextID est créé dans
* RoleConfigurationFactory. L'élément contextID est comparable
* à PolicyContextID mais il ne contient pas le nom du module.
* Si la suppression est true, l'ancien RoleConfiguration est supprimé
* et un nouveau RoleConfiguration est créé et renvoyé avec contextID.
* @return l'objet RoleConfiguration de ce contextID
* @param contextID : ID contexte de RoleConfiguration
* @param remove true ou false
* @exception RoleConfigurationException si RoleConfiguration ne peut
* pas être obtenu.
**/
public abstract com.ibm.ws.security.policy.RoleConfiguration
getRoleConfiguration(String contextID, boolean remove)
throws RoleConfigurationException
Fournisseur InitializeJACCProvider :
Lorsqu'elle est implémentée par le fournisseur, cette interface est appelée pour chaque lancement de processus dans lequel le fournisseur JACC peut servir pour l'autorisation. Toutes les autres propriétés entrées lors de la vérification de l'autorisation sont transmises au fournisseur. Par exemple, le fournisseur peut utiliser ces informations pour initialiser leur code client et communiquer avec leur serveur ou leur référentiel. La méthode de nettoyage est appelée à l'arrêt du serveur pour nettoyer la configuration.
Déclaration :
public interface InitializeJACCProvider
Description :
Cette interface comprend deux méthodes. Le fournisseur JACC peut l'implémenter et WebSphere Application Server l'appelle pour initialiser le fournisseur JACC. Le nom de la classe d'implémentation est obtenue à partir de la valeur de la propriété système initializeJACCProviderClassName.
InitializeJACCProvider
- com.ibm.wsspi.security.authorization.InitializeJACCProvider
/**
* Initialise le fournisseur JACC
* @return 0 en cas de réussite.
* @param props les propriétés personnalisées incluses pour ce fournisseur sont
* transmises à la classe d'implémentation.
* @exception Exception en cas d'erreur.
**/
public int initialize(java.util.Properties props)
throws Exception
/**
* Cette méthode est pour le nettoyage du fournisseur JAAC et est appelée lors de l'arrêt d'un * processus.
**/
public void cleanup ()