2010-08-17 22 views
6

Je suis en train de coder une application de structure zend en utilisant le paradigme mvc standard avec une couche de service ajoutée pour prendre en charge la logique applicative/métier. Il semble assez populaire de mettre votre contrôle d'accès dans vos services, plutôt que dans vos modules/contrôleurs/actions, cependant, je n'ai vu que des exemples simples avec des rôles statiques et des permissions pour ces rôles.Comment injecter le contrôle d'accès dans une couche de service de l'application mvc?

Mon application utilisera un acl dynamique, permettant à l'utilisateur admin d'ajouter des rôles et de définir des permissions sur ces rôles. J'ai deux questions:

  1. Comment mappez-vous les autorisations dans le pays de l'utilisateur à celle des services et des méthodes dans les services? Je ne crois pas que ce devrait être une cartographie 1: 1. Si votre application est suffisamment volumineuse, vous disposerez de nombreux services avec de nombreuses méthodes, et la structure d'autorisation deviendra vite confuse pour un utilisateur final définissant des autorisations pour un rôle.
  2. J'ai des services globaux à l'application et non spécifiques à un module. Comment définiriez-vous des autorisations pour ces services en fonction du module auquel vous accédez?

Toute aide serait grandement appréciée.

+0

Bonne question! – tom

+0

Eh bien, plusieurs mois plus tard, avez-vous accompli quelque chose? Je suis en train de déterminer le même scénario. Si vous êtes toujours intéressé, peut-être que je peux poster ici quand je l'ai fini. –

Répondre