forked from stove/dataset
178 lines
6.1 KiB
Markdown
178 lines
6.1 KiB
Markdown
|
# Configuration liée
|
||
|
|
||
|
Une configuration liée est un ensemble d'élément partagé entre deux serveurs différents.
|
||
|
|
||
|
## Lier un client à un serveur
|
||
|
|
||
|
```
|
||
|
<check name="set_linked">
|
||
|
<param name="linked_provider">clients</param>
|
||
|
<param name="linked_value" type="variable">service_variable</param>
|
||
|
<target>service_variable_2</target>
|
||
|
</check>
|
||
|
```
|
||
|
|
||
|
## Lier un client à un serveur avec un nom d'utilisateur issu du nom de domaine
|
||
|
|
||
|
Il faut commencer de créer une variable côté serveur :
|
||
|
|
||
|
```
|
||
|
<variable name="remotes" description="All clients" type="domainname" multi="True" provider="clients"/>
|
||
|
```
|
||
|
|
||
|
Le nom d'utilisateur sera ici le nom de domaine du serveur avec l'application de la fonction 'normalize_family'.
|
||
|
|
||
|
Pour lier deux configurations il faut créer deux variables côté client :
|
||
|
|
||
|
```
|
||
|
<variable name='service_server_address' type='domainname' description="Nom DNS du serveur" mandatory='True'/>
|
||
|
<variable name='service_remote_user' type='string' description="Remote username" mandatory='True' hidden="True"/>
|
||
|
```
|
||
|
|
||
|
Enfin il faut lier les deux configurations :
|
||
|
|
||
|
```
|
||
|
<fill name="set_linked">
|
||
|
<param name="linked_server" type="variable">service_server_address</param>
|
||
|
<param name="linked_provider">clients</param>
|
||
|
<param name="linked_value" type="information">server_name</param>
|
||
|
<target>service_remote_user</target>
|
||
|
</fill>
|
||
|
```
|
||
|
|
||
|
Ainsi, lorsque l'utilisateur renseignera la variable "service_server_address", cette valeur sera ajouter à la variable "remotes" du serveur.
|
||
|
En retour la variable "service_remote_user" aura comme valeur "normalize_family(service_server_address)".
|
||
|
|
||
|
## Lier un client unique à un serveur avec un nom d'utilisateur calculé sur le serveur
|
||
|
|
||
|
Il faut commencer de créer les variables côté serveur :
|
||
|
|
||
|
```
|
||
|
<variables>
|
||
|
<variable name="remote" description="The client" type="domainname" provider="client"/>
|
||
|
<variable name="username" hidden="True" provider="client_name"/>
|
||
|
</variables>
|
||
|
<constraints>
|
||
|
<fill name="gen_user_name">
|
||
|
<target>username</target>
|
||
|
</fill>
|
||
|
</constraints>
|
||
|
```
|
||
|
|
||
|
Côté client :
|
||
|
|
||
|
```
|
||
|
<variable name='service_server_address' type='domainname' description="Nom DNS du serveur" mandatory='True'/>
|
||
|
<variable name='service_remote_user' type='string' description="Remote username" mandatory='True' hidden="True"/>
|
||
|
```
|
||
|
|
||
|
```
|
||
|
<fill name="set_linked">
|
||
|
<param name="linked_server" type="variable">service_server_address</param>
|
||
|
<param name="linked_provider">clients</param>
|
||
|
<param name="linked_value" type="information">server_name</param>
|
||
|
<param name="linked_returns">client_name</param>
|
||
|
<target>service_remote_user</target>
|
||
|
</fill>
|
||
|
```
|
||
|
|
||
|
Ainsi, lorsque l'utilisateur renseignera la variable "service_server_address", cette valeur sera la variable "remote" du serveur.
|
||
|
Un nom d'utilisateur sera alors généré côté serveur, la valeur de ce nom sera retourner au client comme valeur de 'service_remote_user'.
|
||
|
|
||
|
## Lier plusieurs clients à un serveur avec un nom d'utilisateur calculé sur le serveur
|
||
|
|
||
|
Il faut commencer de créer les variables côté serveur :
|
||
|
|
||
|
```
|
||
|
<variables>
|
||
|
<variable name="remotes" description="All clients" type="domainname" multi="True" provider="clients"/>
|
||
|
<family name="remote_" description="Compte pour " dynamic="remotes">
|
||
|
<variable name="username_" hidden="True" provider="client_name"/>
|
||
|
</family>
|
||
|
</variables>
|
||
|
<constraints>
|
||
|
<fill name="gen_user_name">
|
||
|
<target>username_</target>
|
||
|
</fill>
|
||
|
</constraints>
|
||
|
```
|
||
|
|
||
|
Côté client :
|
||
|
|
||
|
```
|
||
|
<variable name='service_server_address' type='domainname' description="Nom DNS du serveur" mandatory='True'/>
|
||
|
<variable name='service_remote_user' type='string' description="Remote username" mandatory='True' hidden="True"/>
|
||
|
```
|
||
|
|
||
|
```
|
||
|
<fill name="set_linked">
|
||
|
<param name="linked_server" type="variable">service_server_address</param>
|
||
|
<param name="linked_provider">clients</param>
|
||
|
<param name="linked_value" type="information">server_name</param>
|
||
|
<param name="linked_returns">client_name</param>
|
||
|
<param name="dynamic" type="information">server_name</param>
|
||
|
<target>service_remote_user</target>
|
||
|
</fill>
|
||
|
```
|
||
|
|
||
|
Ainsi, lorsque l'utilisateur renseignera la variable "service_server_address", cette valeur sera ajouter à la variable "remotes" du serveur.
|
||
|
Un nom d'utilisateur sera alors généré côté serveur, la valeur de ce nom sera retourner au client comme valeur de 'service_remote_user'.
|
||
|
|
||
|
## Caculer une variable d'un client par rapport à la valeur d'un serveur
|
||
|
|
||
|
Il faut commencer de créer une nouvelle variables côté serveur par exemple dans une famille dynamique :
|
||
|
|
||
|
```
|
||
|
<variables>
|
||
|
<family name="remote_" description="Compte pour " dynamic="remotes">
|
||
|
<variable name="password_" description="Password " auto_save="True" hidden="True" type="password" provider="client_password"/>
|
||
|
</family>
|
||
|
</variables>
|
||
|
<constraints>
|
||
|
<fill name="gen_password">
|
||
|
<target>password_</target>
|
||
|
</fill>
|
||
|
</constraints>
|
||
|
```
|
||
|
|
||
|
Côté client on veut récupérer ce mot de passe dans une variable :
|
||
|
|
||
|
```
|
||
|
<variable name='service_remote_user_password' type='password' description="Remote password" mandatory='True' hidden="True"/>
|
||
|
```
|
||
|
|
||
|
Et calculer cette valeur :
|
||
|
|
||
|
```
|
||
|
<fill name="get_linked_configuration">
|
||
|
<param name="linked_server" type="variable">service_server_address</param>
|
||
|
<param name="linked_provider">client_password</param>
|
||
|
<param name="dynamic" type="variable">service_remote_user</param>
|
||
|
<target>service_remote_user_password</target>
|
||
|
</fill>
|
||
|
```
|
||
|
|
||
|
## Propoger la valeur d'une variable d'un client vers un serveur
|
||
|
|
||
|
```
|
||
|
<check name="set_linked_configuration">
|
||
|
<param name="linked_server" type="variable">service_server_address</param>
|
||
|
<param name="linked_provider">client_var</param>
|
||
|
<param name="dynamic" type="variable">service_remote_user</param>
|
||
|
<target>service_variable</target>
|
||
|
</check>
|
||
|
```
|
||
|
|
||
|
## Propoger la valeur d'une variable d'un client vers un variable esclave du serveur
|
||
|
|
||
|
```
|
||
|
<check name="set_linked_configuration">
|
||
|
<param name="linked_server" type="variable">service_server_address</param>
|
||
|
<param name="leader_provider">client_var</param>
|
||
|
<param name="leader_value" type="variable">service_variable</param>
|
||
|
<param name="linked_provider">slave</param>
|
||
|
<param name="dynamic" type="variable">service_server_address</param>
|
||
|
<target>service_variable_2</target>
|
||
|
</check>
|
||
|
```
|