2009-09-29 5 views
0

J'ai configuré deux fournisseurs d'appartenance: mon fournisseur personnalisé et le fournisseur Sitefinity. Mon fournisseur d'appartenance personnalisé est défini par défaut.TelerikProfileProvider avec un fournisseur d'appartenances personnalisées

Je souhaite utiliser le fournisseur de profil Sitefinity pour les deux groupes d'utilisateurs. Toutefois, le fournisseur de profils semble uniquement fonctionner pour les utilisateurs que je retire du fournisseur d'appartenances Sitefinity.

Après avoir un peu réfléchi avec Reflector, il semble que le fournisseur de profil Telerik suppose que le nom d'utilisateur existe dans son propre DB.

User userByName = this.Application.GetUserByName(userName); 
if (userByName != null) 
{ 
// magic happens here... 
} 

Toute la magie ne se produit que si elle était capable de récupérer l'utilisateur localement. Semble violer les principes des fournisseurs. Ne devrais-je pas être en mesure d'ajouter arbitrairement des propriétés à un utilisateur quel que soit le fournisseur d'appartenances?

(je l'ai also posted this sur le forum Sitefinity, mais n'avez pas encore une réponse. SO m'a gâté. Je suis venu à attendre une réponse en quelques minutes, des jours.)

Répondre

0

Si je comprends Si vous voulez correctement utiliser le fournisseur sitefininty comme base et joindre des informations supplémentaires aux profils des utilisateurs.

En général, je déconseille d'essayer de se mêler à la gestion interne de sitefininty. Essayez plutôt d'attacher la fonctionnalité que vous voulez exécuter au fournisseur standard. Ce que j'ai fait dans ces situations dans le passé était de créer un wrapper de fournisseur d'appartenance (dans votre cas un ProfileProviderWrapper) qui contient une référence interne à un autre fournisseur de profil, tout en étant un fournisseur de profil lui-même. De cette façon, vous pouvez exécuter le code que vous voulez avant/après le rappel au fournisseur sous-jacent (ou peut-être ne pas rappeler du tout). Par exemple: Avant de renvoyer le profil, vous pouvez lui attacher des propriétés supplémentaires. De cette façon, vous ne rompez pas le comportement sitefinity, tout en étant capable d'interférer.

Questions connexes