2010-05-18 8 views
1

Je veux créer des utilisateurs pour mon application Web.utilisant sfDoctrineGuardPlugin pour les membres réguliers?

en utilisant symfony. Je me demande si je devrais le faire avec sfDoctrineGuardPlugin ou les méthodes fournies par symfony pour cela?

// Add one or more credentials 
$user->addCredential('foo'); 
$user->addCredentials('foo', 'bar'); 

// Check if the user has a credential 
echo $user->hasCredential('foo');      => true 

// Check if the user has both credentials 
echo $user->hasCredential(array('foo', 'bar'));  => true 

// Check if the user has one of the credentials 
echo $user->hasCredential(array('foo', 'bar'), false); => true 

// Remove a credential 
$user->removeCredential('foo'); 
echo $user->hasCredential('foo');      => false 

// Remove all credentials (useful in the logout process) 
$user->clearCredentials(); 
echo $user->hasCredential('bar');      => false 

ou est le but de sfDoctrineGuardPlugin assurer simplement la page d'administration et non le système d'enregistrement frontend?

merci.

Répondre

5

Je recommanderais d'utiliser sfDoctrineGuardPlugin. Il fournit des formulaires pour gérer vos utilisateurs dans le backend. Il est facilement extensible pour ajouter des champs de base de données supplémentaires pour ajouter plus d'informations pour vos utilisateurs (profils, etc) et il gère tout le cryptage de mot de passe SHA/MD5 lors du stockage des mots de passe utilisateur pour vous. Si vous créez votre système de connexion à partir de rien, vous devez considérer le stockage de mot de passe.

C'est fondamentalement un excellent point de départ pour créer vos pages sécurisées. Il peut être utilisé à la fois pour le backend et le frontend. Pour le frontend, il vous suffit d'activer les bons modules dans le fichier de configuration et vous pouvez l'utiliser sans problème.

Une chose que j'ai oublié d'ajouter est que sfDoctrineGuardPlugin fournit également la fonction "remember me". Qui est genial. Utilisez le plugin. :)

+0

okay ... je pensais que c'était seulement pour backend. mais il semble que ce soit très extensible. donc je peux ajouter des colonnes de table supplémentaires? –

+0

Oui, le plugin vous permet de spécifier une table "profil" qui est facilement accessible depuis votre objet Utilisateur via une clé étrangère, je ne me souviens pas exactement mais c'est aussi simple que quelque chose comme $ user-> getProfile(). –

+0

ok super! savez-vous quelle est la différence entre sfDoctrineGuardPlugin et sfGuardPlugin? Lequel devrais-je choisir? –

Questions connexes