Je souhaite attribuer des noms d'utilisateur/mots de passe dans une application web2py et autoriser ces utilisateurs à accéder aux pages de mise à jour des langues (par exemple http://foo.com/admin/edit_language/myApp/languages/fr.py). Est-ce que je peux faire ceci sans leur donner l'accès général d'administration? Si c'est le cas, comment?web2py: autoriser les utilisateurs nommés à ajouter des localisations/traductions
0
A
Répondre
1
Il n'existe aucune fonctionnalité intégrée qui vous permet de spécifier des utilisateurs avec un accès limité à certaines parties de l'application d'administration: il y a une connexion, et c'est un accès tout ou rien. Cependant, l'interface d'administration est elle-même juste une application web2py, vous pouvez donc modifier l'application et ajouter votre propre logique de contrôle d'accès. Notez également que les traductions sont simplement stockées dans des fichiers texte dans le dossier d'une application/langues, vous pouvez donc fournir une interface alternative permettant aux utilisateurs de modifier ces fichiers.
Merci. Je suppose que ce n'est pas aussi simple que de décorer, par exemple la fonction edit_language() dans le contrôleur d'administration par défaut avec @ auth.requires_membership (xxx) l'est-elle? Je présume que si vous n'avez pas les droits d'administrateur, vous n'irez même pas jusque-là? – user2667066
Correct - si vous n'êtes pas connecté via la connexion admin, vous serez redirigé vers la page de connexion admin à partir du fichier de modèle /models/access.py (c'est-à-dire que vous ne pourrez jamais accéder à une fonction de contrôleur). Donc, vous devrez ajouter du code personnalisé à /models/access.py. – Anthony