2010-02-05 7 views
2

J'utilise symfony 1,31 Propel ORM et sfGuardPluginSymfony sfGuardPlugin (groupe, autorisations et pouvoirs) question

Je suis sur le point de groupes de configuration et les autorisations. AFAIK, les autorisations correspondent aux informations d'identification et les autorisations peuvent être affectées à des groupes.

J'ai deux questions

  1. Supposons qu'un utilisateur appartient au groupe A et le groupe A a des références de la foobar '. Lorsqu'un utilisateur appartenant au groupe A se connecte, obtient-il automagiquement le droit d'accès "foobar", ou dois-je ajouter manuellement les informations d'identification à l'utilisateur (par exemple en recherchant ses permissions group-> dans la base de données)? ?
  2. En supposant que le cadre SF « automagiquement » prend en charge des titres de compétences de l'utilisateur en fonction de l'appartenance au groupe, est l'effet en temps réel, ou un utilisateur ne doit se déconnecter/login avant que les modifications sont appliquées/en vigueur?

[Modifier]

En ce qui concerne la question 1, je vous serais reconnaissant un lien vers (de préférence la documentation officielle SF - à défaut, tout autre document), qui indique que tel est bien le cas.

En ce qui concerne la question 2, la méthode a sfSecurityUser addCredentials qui stocke les informations d'identification dans la session utilisateur. Par conséquent, je soupçonne que les changements d'appartenance au groupe ne sont pas en temps réel, donc je devrai forcer l'utilisation pour me déconnecter/me connecter ou peut-être utiliser un écouteur d'événement ou quelque chose .. ai-je raison (ou tort)?

Répondre

3

EDIT:

Si vous configurez sfGuard à droite, puis les crednetials seront automagique. En particulier, cela nécessite apps/$appname/lib/$userClass.class.php (généralement MyUser.class.php) pour étendre sfGuardSecurityUser. La configuration devrait être dans le readme du plugin. Dans la mesure où 2 va, puisque les informations d'identification doivent être interrogées à chaque requête, alors cela arrivera immédiatement du point de vue des utilisateurs (à moins bien sûr que vous n'utilisiez ajax pour ajouter un permanent/crédnetial).

+1

En ce qui concerne Point1: tx. Le problème est, je ne peux pas trouver cette information n'importe où dans la documentation de SF - comment savez-vous ?. En ce qui concerne le point 2, pas nécessairement (AFAIK), puisque la méthode addCredential [s]() de sfSecurityUser stocke les informations d'identification dans la session utilisateur. Par conséquent, je soupçonne que les changements d'appartenance au groupe ne sont pas en temps réel, donc je devrai forcer l'utilisation pour me déconnecter/me connecter ou peut-être utiliser un écouteur d'événement ou quelque chose .. ai-je raison (ou tort)? –

+0

Ce n'est pas directement dans les docs SF car c'est un plugin, pas core. Vous devriez avoir une Markdown/version txt du readme dans la structure plugin dir lui-même ou vous pouvez le lire en ligne: http://www.symfony-project.org/plugins/sfGuardPlugin et cliquez sur le lien onglet « Readme ». – prodigitalson

+0

Environ 2 - oui vous pouvez réellement vous être raison ... Un écouteur d'événement serait probablement un bon moyen - peut-être mis à écouter un événement expulsé d'un comportement Propel (ces arent en utilisant le système d'événements encore droit?) thats sur la modification des creds. – prodigitalson