Outils pour utilisateurs

Outils du site


requetes

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
requetes [2013/02/14 10:51] florianrequetes [2023/03/17 09:56] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Dossiers ======+====== DOCUMENTATION ======
  
 **Attention :** il est impératif que chaque élément du dossier ait une correspondance dans chacune des requêtes ! **Attention :** il est impératif que chaque élément du dossier ait une correspondance dans chacune des requêtes !
  
-====== Tutoriaux =====+===== Recherche Globale =====
  
-===== Arborescence et droits =====+Comment sont sélectionnés les champs retournés dans le résultat de la recherche globale :
  
-Objectif : Mettre en place une requête avec arborescence et permettant une gestion des droits d'accès.+  * L'affichage (et le parcours des champs) est déterminé par le rang (Revision >= XXXX ) 
 +  * Tout champ de la requête dont la valeur contient le(s) mot(s) recherché(s). 
 +  * Un champ dont le rang est compris entre le rang 1 et 3 peut être présenté (exception faite des champs de type "fulltext" ou ne contenant aucune valeur) même s'il ne contient pas le mot recherché. Au-delà du rang 3 seul un champ contenant la valeur recherchée sera retourné.
  
-Avant-propos : La gestion des droits sur les requêtes s'effectue par la mise en place de [[roles|rôles]], mais ici nous n'avons qu'une seule requête 
-et nous voulons restreindre l'accès à certains résultats pour des utilisateurs donnés. 
  
-Solution : Nous allons créer une table de droits qui fera le lien entre un champ de notre table //métier// et le champ **SECUSR_SECGRPID** de la table **_secusr 
-** 
  
-Exemple : Nous avons une table nommée **dossiers**, qui est notre table principale, et une table **listtypdossiers**, référençant les différents types de dossiers.  +====== TUTORIAUX =====
- +
-Table dossiers : +
-^ DOSSIERS_ID      ^ DOSSIERS_TYPID       ^ DOSSIERS_DESC          ^ +
-| 1                | 1                    | Dossier Sanzot         | +
-| 2                | 2                    | Dossier top secret     | +
-| 3                | 1                    | Dossier COGIP          | +
- +
-Le champ **DOSSIERS_TYPID** fait le lien avec la table listtypdossiers (il référence la clé primaire de cette table) et nous permettra via une jointure d'afficher le type de dossier plutôt que son identifiant. +
- +
-Table listtypdossiers : +
-^ LISTTYPDOSSIERS_ID ^ LISTTYPDOSSIERS_DESC ^ +
-| 1                  | DOSSIER TECHNIQUE    | +
-| 2                  | DOSSIER DIRECTION       | +
- +
-Dans notre système nous avons deux groupes d'utilisateurs : **Technicien** et **Direction**. +
-Nous voulons que les utilisateurs de ces deux groupes aient accès à la requête **dossiers**. Mais nous ne voulons pas que les utilisateurs du groupe Technicien voient les dossiers du type //"DOSSIER SECRET"//+
-On ne peut pas faire cela avec les rôles. Les rôles ne permettent pas de restreindre les accès à des résultats précis. +
- +
-Ce que nous pouvons faire c'est de déterminer quel groupe a accès à quel(s) type(s) de dossiers. +
-Il nous faut une table supplémentaire : +
- +
-Table droitsdossiers : +
-^ DROITSDOSSIERS_ID ^ DROITSDOSSIERS_TYPID ^ DROITSDOSSIERS_SECGRPID ^ +
-| 1                 | 1                    |  1                     | +
-| 2                 | 2                    |  1                     | +
-| 3                 | 1                    |  2                     | +
- +
-Pour information voici ce que serait la table _secgrp : +
-^ SECGRP_ID ^ SECGRP_DESC ^ +
-| 1         | Direction    | +
-| 2         | Technicien   | +
- +
- +
-A présent nous avons toutes les informations nécessaires dans la base de données pour simuler une gestion des droits dans notre requête. +
-Pour cela nous allons : +
- +
-  - Jointer la table dossiers et listtypdossiers sur les champs DOSSIERS_TYPID et LISTTYPDOSSIERS_ID +
-  - Jointer la table dossiers et droitsdossiers sur les champs DOSSIERS_TYPID et DROITSDOSSIERS_TYPID +
-  - Jointer la table droitsdossiers et _secusr sur les champs DROITSDOSSIERS_SECGRPID et SECUSR_SECGRPID +
-  - Créer une condition portant sur le champ SECUSR_ID pour que sa valeur soit égale à l'id de l'utilisateur connecté (via $secusrid$).+
  
 +[[requetes:tutoriaux:droitsarbo | Arborescence et gestion des droits ]]
requetes.1360839093.txt.gz · Dernière modification : (modification externe)