Télécharger
    Installer
    Présentation
    Configuration
    Indexation
    Recherche
    OAI
    Javadoc
    Référence API-XSP
       Pages XSP
       Paramètres SDX
       Vue d'ensemble
          Structure
          Paramètres et flux
          Identification
         +Droits <-
          Localisation
          Pipelines
          Thesaurus
          Indexation
          Recherche
          Documents
       Liste alphabétique
    Migration
    Schemas
    Performances


SDX

Gestion des droits

Liste des actions décrites dans cette page :

Concepts clés

La section "Identification" présente les actions SDX utilisées pour identifier un utilisateur. Les outils SDX décrits ici permettent d'identifier plusieurs profils d'utilisateurs au sein d'applications.

Liste des profils définis dans SDX

Utilisateur anonyme

C'est l'utilisateur par défaut, qu'une action d'identification n'ait pas eu lieu ou qu'elle n'ait pas été menée avec succès. Lors d'une déconnexion (cf. sdx:logout), l'utilisateur courant devient automatiquement un utilisateur anonyme.

Utilisateur connu

SDX permet de donner un certain nombre d'informations sur un utilisateur (voir l'application d'administration sur serveur de SDX {serveur sdx}/sdx/admin/) : un identifiant (id), un nom (lastname), un prénom (firstname), une adresse électronique (email), un mot de passe, un ou des groupes (group) décrits ci-après.

Utilisateur membre d'un groupe

SDX permet de créer des groupes d'utilisateurs. Par défaut, il existe au moins un groupe d'administrateurs regroupant au moins un administrateur d'application (élément <sdx:admin groupId="admins" userId="admin" userPassword=""/> dans le fichier application.xconf). Un utilisateur connu peut ainsi être défini comme membre du groupe des administrateurs. Il est possible de définir autant de groupes que de types d'accès à une application (par exemple, dans un ordre de responsabilité croissant, "lecteur inexpérimenté" ; "lecteur expérimenté" ; "rédacteur de documents" ; etc.). Ce système est très commode afin de prévoir des stratégies d'actions (par exemple, choix d'un affichage de documents suivant l'appartenance à un groupe ou un autre).

Administrateur

L'administrateur est désigné pour... administrer une application ! C'est logiquement la plus haute autorité dans le contexte d'une application. C'est à lui que revient l'alimentation des bases (les bases de documents comme la base des utilisateurs).

Super-utilisateur

Le super-utilisateur est au plus niveau de responsabilité puisqu'il administre directement le serveur SDX hébergeant les applications. Logiquement, il n'administre pas les applications elles-mêmes, mais on peut comprendre qu'il soit confondu avec l'administrateur décrit plus haut.

sdx:userIsAdmin(CHECK)

sdx:userIsAdmin permet d'identifier l'administrateur d'une application. L'action admettant certains paramètres communs de localisation, cela signifie que l'on peut identifier l'administrateur d'une application A au sein d'une application B.

Code implémentant cette actionsdx-actions.xsl
Contexte d'utilisationN'importe où dans un sdx:page.
Contenu éventuelN'importe quel élément sdx:* ou autre. Ces éléments seront traités si l'identification réussit, et dans ce cas le sous-élément sdx:fallback ne sera pas exécuté. Si l'identification échoue, seul l'élément sdx:fallback sera exécuté.

Tableau 1. Paramètres communs

NomDescriptionElément correspondant 
appL'identifiant de l'application. Par défaut, il s'agit de l'application courante.sdx:appFacultatif (FIXME)
appbypathIndique la partie de l'URL qui suit "sdx/" dans une installation standard, par exemple "sdxtest".sdx:appFacultatif

Exemple 1. Identification de l'administrateur

Dans l'exemple suivant, la page XSP génère l'action d'indexation si l'utilisateur courant est identifié comme administrateur de l'application A. Si l'identification échoue, elle génère l'action de connexion.

<sdx:page>
 <sdx:userIsAdmin app="A">
  <sdx:uploadDocument/>
  <sdx:fallback>
   <sdx:login/>
  </sdx:fallback>
</sdx:page>

sdx:userIsMember

sdx:userIsMember permet de tester l'appartenance à un ou plusieurs groupes d'utilisateurs.

Code implémentant cette actionsdx-actions.xsl
Contexte d'utilisationN'importe où dans un sdx:page.
Contenu éventuelN'importe quel élément sdx:* ou autre. Ces éléments seront traités si l'identification réussit, et dans ce cas le sous-élément sdx:fallback ne sera pas exécuté. Si l'identification échoue, seul l'élément sdx:fallback sera exécuté.

Tableau 2. Paramètres spécifiques

NomDescription 
groupIdentifiant du groupe d'utilisateur.Obligatoire
opOpérateur booléen. Ceci permet de construire un test d'identification plus complexe. Par défaut, SDX emploie une ou logique.Facultatif

Tableau 3. Paramètres communs

NomDescriptionElément correspondant 
appL'identifiant de l'application.sdx:appFacultatif
appbypathIndique la partie de l'URL qui suit "sdx/" dans une installation standard, par exemple "sdxtest".sdx:appFacultatif

Exemple 2. Palette d'actions en fonction de l'appartenance

Dans l'exemple suivant, on teste l'utilisateur selon son groupe d'appartenance. S'il est lecteur, rédacteur ou administrateur, il a accès à l'action d'exécution de la requête simple. Si, en plus, il est administrateur ou rédacteur, il peut indexer des documents. Enfin, s'il est administrateur, il a accès, en plus des deux actions précédentes, de supprimer des documents. Si l'utilisateur n'appartient à aucun groupe, il n'a aucun accès ; un message le prévient de l'obligation d'appartenir à un groupe.

<sdx:page>

 <sdx:userIsMember op="or">
  <sdx:parameter name="group" value="admin" />
  <sdx:parameter name="group" value="redacteurs" />
  <sdx:parameter name="group" value="lecteurs" />
  <sdx:executeSimpleQuery/>

  <sdx:userIsMember op="or">
   <sdx:parameter name="group" value="redacteurs" />

   <sdx:uploadDocuments/>

   <sdx:userIsMember group="admin">
    <sdx:deleteDocuments/>
   </sdx:userIsMember>

  </sdx:userIsMember

  <sdx:fallback>
   <message type="groupe_obligatoire"/>
  </sdx:fallback>

 </sdx:userIsMember>

</sdx:page>

sdx:userIsSu

sdx:userIsSu permet d'identifier le super-utilisateur ; c'est-à-dire l'administrateur du serveur SDX hébergeant les applications.

Code implémentant cette actionsdx-actions.xsl
Contexte d'utilisationN'importe où dans un sdx:page.
Contenu éventuelN'importe quel élément sdx:* ou autre. Ces éléments seront traités si l'identification réussit, et dans ce cas le sous-élément sdx:fallback ne sera pas exécuté. Si l'identification échoue, seul l'élément sdx:fallback sera exécuté.

Le super-utilisateur n'ayant aucun lien avec une application (il est administrateur du serveur SDX hébergeant les applications), l'action qui permet de l'identifier ne possède pas les paramètres communs d'identification d'une application comme les autres actions de cette section.

sdx:userIsAdminOrSu

sdx:userIsAdminOrSu permet d'identifier un administrateur que ce soit celui d'une application ou du serveur SDX.

Code implémentant cette actionsdx-actions.xsl
Contexte d'utilisationN'importe où dans un sdx:page.
Contenu éventuelN'importe quel élément sdx:* ou autre. Ces éléments seront traités si l'identification réussit, et dans ce cas le sous-élément sdx:fallback ne sera pas exécuté. Si l'identification échoue, seul l'élément sdx:fallback sera exécuté.

Tableau 4. Paramètres spécifiques

NomDescriptionElément correspondant 
appL'identifiant de l'application.sdx:appFacultatif
appbypathIndique la partie de l'URL qui suit "sdx/" dans une installation standard, par exemple "sdxtest".sdx:appFacultatif


Auteur : Malo Pichot (AJLSM) - 2003-11-26