web-dev-qa-db-fra.com

Pour un site DokuWiki, comment forcer les nouveaux utilisateurs à avoir une adresse email provenant d'un domaine spécifique?

J'essaie de gérer un site DokuWiki conçu pour les membres de l'école. Le problème est que je dois vérifier si les nouveaux utilisateurs sont réellement membres de notre école.

Depuis que DokuWiki envoie un mot de passe temporaire à l'email écrit par un nouvel utilisateur, je pense qu'il est préférable d'utiliser le domaine de notre école (par exemple, @example.edu.com) pour confirmer l'identité.

Existe-t-il un moyen de "forcer" tous les nouveaux identifiants à avoir un domaine de messagerie "fixe"? Je souhaite que la page "inscription" affiche quelque chose comme ceci:

User ID : [_______]
Name    : [_______]
Email   : [_______]@example.edu.com

  [Register Button]

Ou y a-t-il d'autres moyens de résoudre mon problème?

2
Yoonsoo P. Bach

Il existe plusieurs façons d’appliquer un nom de domaine fixe pour une adresse électronique dans votre formulaire de courrier électronique.

Vous pouvez définir l'entrée avec un champ masqué de @ exemple.com à la fin. L'utilisateur doit simplement entrer son propre nom sans le domaine dans le champ d'entrée.

Vous pouvez également consulter l’adresse électronique javascript ou PHP pour déterminer si elle se termine par example.com. Si la vérification échoue, vous pouvez avertir l'utilisateur que l'adresse e-mail n'est pas valide ou vous pouvez le rediriger vers la page en lui indiquant qu'il doit utiliser l'adresse e-mail de l'école.

Voici un moyen simple de commencer à le faire que je vous ai préparé:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to display the value of the value attribute of the hidden input field.</p>

<input type="" id="myInput" value="" placeholder="enter email">@example.com
<br>

<button onclick="myFunction()">send</button>

<p id="demo"></p>

<script>
function myFunction() {

    var y = '@example.com';
    var x =
    document.getElementById("myInput").value;
    var z = x + y;

    document.getElementById("demo").innerHTML = z;
}
</script>

</body>
</html>

https://jsfiddle.net/ffa5m00j/

1
Michael d