12.3. Modules de sécurité inclus
Code | Class |
---|---|
PropertiesRoles | org.jboss.security.mapping.providers.role.PropertiesRolesMappingProvider |
SimpleRoles | org.jboss.security.mapping.providers.role.SimpleRolesMappingProvider |
DeploymentRoles | org.jboss.security.mapping.providers.DeploymentRolesMappingProvider |
DatabaseRoles | org.jboss.security.mapping.providers.role.DatabaseRolesMappingProvider |
LdapRoles | org.jboss.security.mapping.providers.role.LdapRolesMappingProvider |
LdapAttributes | org.jboss.security.mapping.providers.attribute.LdapAttributeMappingProvider |
Un module de mappage de rôles qui prend en considération un principal pour des mappages de rôles qui peuvent être effectués dans les descripteurs de déploiement jboss-web.xml
et jboss-app.xml
.
Exemple 12.1. Exemple
<jboss-web> ... <security-role> <role-name>Support</role-name> <principal-name>Mark</principal-name> <principal-name>Tom</principal-name> </security-role> ... </jboss-web>
Un module de mappage de rôles à rôle qui prend en considération un principal pour des mappages de rôles qui peuvent être effectués dans les descripteurs de déploiement jboss-web.xml
et jboss-app.xml
. Dans ce cas, le nom du principal désigne un rôle qui mappe d'autres rôles.
Exemple 12.2. Exemple
<jboss-web> ... <security-role> <role-name>Employee</role-name> <principal-name>Support</principal-name> <principal-name>Sales</principal-name> </security-role> ... </jboss-web>
Le fournisseur de mappage de rôles qui récupère les rôles à partir des options, puis qui les ajoute au Groupe passé. Prend le mappage de style de propriétés du nom de rôle (clé) dans une liste de rôles (valeurs) séparés par des virgules.
Un fournisseur de mappage de principal qui prend un SimplePrincipal et qui le convertit en SimplePrincipal avec un nom de principal différent.
Un MappingProvider qui lit les rôles à partir d'une base de données.
dsJndiName
: nom JNDI de la source de données utilisée pour mapper les rôles vers l'utilisateur.rolesQuery
: cette option doit correspondre à un énoncé préparé équivalent à "select RoleName from Roles where User=?" ? est remplacé par le nom du principal en cours.suspendResume
: Booléen - Suspend, puis termine la transaction associée au thread en cours tout en faisant une recherche de rôles.transactionManagerJndiName
: nom JNDI du Gestionnaire de transactions (la valeur par défaut est java:/TransactionManager)
Un fournisseur de mappage qui assigne les rôles à un utilisateur à l'aide d'un serveur LDAP pour chercher les rôles.
bindDN
: le DN utilisé pour faire la liaison avec le serveur LDAP pour les recherches de rôles et l'utilisateur. Ce DN a besoin de permissions lecture et recherche dans les valeurs de baseCtxDN et de rolesCtxDN.bindCredential
: le mot de passe de bindDN. Peut être encodé si le jaasSecurityDomain est spécifié.rolesCtxDN
: le DN fixe du contexte pour rechercher des rôles d'utilisateur. Ce n'est pas le DN où les rôles se trouvent, mais le DN où les objets contenant les rôles d'utilisateur se trouvent. Par exemple, dans un serveur Active Directory de Microsoft, c'est le DN où le compte d'utilisateur se trouve.roleAttributeID
: l'attribut LDAP qui contient les noms des rôles d'autorisation.roleAttributeIsDN
: indique si leroleAttributeID
contient ou non le nom de domaine complet d'un objet de rôle. Si false, le nom de rôle est tiré de la valeur de l'attributroleNameAttributeId
du nom de contexte. Certains schémas de répertoire, tel que Active Directory, requièrent que cet attribut soit défini àtrue
.roleNameAttributeID
: nom de l'attribut qui se trouve dans le contexteroleCtxDN
contenant le nom de rôle. Si la propriétéroleAttributeIsDN
est définie àtrue
, cette propriété sera utilisée pour trouver l'attribut du nom de l'objet du rôle.parseRoleNameFromDN
: un indicateur qui signale si le DN retourné par une requête contient le roleNameAttributeID. Si la valeur est définie àtrue
, one cherchera le roleNameATtributeID du DN. Si la valeur estfalse
, on ne cherchera pas le roleNameAttributeID du DN. Cet indicateur peut améliorer les performances des requêtes LDAP.roleFilter
: un filtre de recherche permettant de localiser les rôles associés à l'utilisateur authentifié. L'entrée user ouuserDN
obtenue à partir du rappel de module de connexion est substitué dans le filtre à chaque fois qu'une expression{0}
est utilisée. L'utilisateurDNuserDN
authentifié sera substitué dans le filtre à chaque fois qu'un{1}
est utilisé. Un exemple de filtre de recherche qui correspond au nom d'utilisateur d'entrée serait(member={0})
. Voici une alternative correspondant auuserDN
authentifié :(member={1})
roleRecursion
: le nombre de niveaux de récursivité de la recherche de rôle dans un contexte de correspondance donné. Désactiver la récursivité en attribuant le paramètre0
.searchTimeLimit
: la valeur d'expiration en millisecondes pour les recherches utilisateur/rôle. La valeur par défaut est 10000 (10 secondes).searchScope
: l'étendue de recherche à utiliser.
Un MappingProvider qui lit des rôles à partir d'un fichier de propriétés dans le format suivant : username=role1,role2,...
rolesProperties
: nom de fichier formaté de propriétés. L'expansion des variables de JBoss peuvent être utilisées sous la forme${jboss.variable}
.
Simple MappingProvider qui lit des rôles à partir de la mappe d'options. Le nom d'attribut de l'option est le nom du principal à qui assigner des rôles et la valeur de l'attribut correspond aux noms de rôles séparés par des virgules à assigner au principal.
Exemple 12.3. Exemple
<module-option name="JavaDuke" value="JBossAdmin,Admin"/> <module-option name="joe" value="Users"/>
Vérifie le module et cherche le nom de principal dans le contexte de mappage pour créer une adresse email d'attribut à partir d'une option de module nommée principalName + ".email" et la donner au principal donné.
Attributs de mappage de LDAP vers le sujet. Les options incluent les options que votre fournisseur LDAP JNDI prend en charge.
Exemple 12.4. Exemples de noms de propriété standard :
Context.INITIAL_CONTEXT_FACTORY = "java.naming.factory.initial" Context.SECURITY_PROTOCOL = "java.naming.security.protocol" Context.PROVIDER_URL = "java.naming.provider.url" Context.SECURITY_AUTHENTICATION = "java.naming.security.authentication"
bindDN
: le DN utilisé pour faire la liaison avec le serveur LDAP pour les recherches de rôles et l'utilisateur. Ce DN a besoin de permissions lecture et recherche dans les valeurs de baseCtxDN et de rolesCtxDN.bindCredential
: le mot de passe de bindDN. Peut être encodé si le jaasSecurityDomain est spécifié.baseCtxDN
: le DN fixe de contexte pour commencer la recherche utilisateurbaseFilter
: un filtre de recherche permettant de localiser le contexte de l'utilisateur à authentifier. L'entrée username ouuserDN
obtenue à partir du rappel de module de connexion est substituée dans le filtre à chaque fois qu'une expression{0}
est utilisée. Ce comportement de substitution vient de la méthode__DirContext.search(Name, String, Object[], SearchControls cons)__
.(uid={0})
est un exemple commun de filtre de recherche.searchTimeLimit
: la valeur d'expiration en millisecondes pour les recherches utilisateur/rôle. La valeur par défaut est 10000 (10 secondes).attributeList
: une liste d'attributs séparée par des virgules pour l'utilisateur. Exemple : mail,cn,sn,employeeType,employeeNumber.jaasSecurityDomain
: Le JaasSecurityDomain à utiliser pour décrypter lejava.naming.security.principal
. La forme cryptée du mot de passe retourné par la méthodeJaasSecurityDomain#encrypt64(byte[])
. Vous pouvez également utiliser la classeorg.jboss.security.plugins.PBEUtils
pour générer la forme cryptée.