J'ai rencontré une situation dans laquelle je devais être capable de rechercher un utilisateur par son nom de répertoire actif. J'ai essayé de rechercher l'utilisateur dans les propriétés SPSite.Users, SPSite.AllUsers et SPSite.SiteUsers, mais l'utilisateur n'est pas garanti d'être dans l'une de ces listes. Pour les utilisateurs qui obtiennent l'autorisation du site via un groupe de répertoires actif ayant reçu l'autorisation d'accéder au site, il n'existe aucune liste pour l'utilisateur dans les différentes listes d'utilisateurs, mais uniquement un enregistrement pour le groupe de répertoires actifs. Existe-t-il un moyen de trouver un utilisateur par programme dans SharePoint sans devoir directement interroger le répertoire actif via LDAP? Je voudrais idéalement trouver un mécanisme qui fonctionne pour l'authentification basée sur les formulaires et l'authentification AD, mais j'ai besoin de trouver un mécanisme qui fonctionne avec l'authentification AD.Recherche par programme un utilisateur dans SharePoint
4
A
Répondre
3
Essayez SPWeb.EnsureUser:
vérifie si le nom de connexion spécifié appartient à un utilisateur valide du site Web, et si le nom de connexion n'existe pas déjà, ajoute au site Web
Cette méthode fonctionne avec AD et FBA. Si vous utilisez les deux, vous devez préfixer le nom d'utilisateur d'un fournisseur non-défaut avec quelque chose comme ceci:
SPUser webUser = web.EnsureUser("SecondaryProvider:" + userName);
Questions connexes
- 1. Recherche google par programme
- 2. Créer un connecteur d'assembly .NET par programme dans SharePoint 2010
- 3. Récupérer l'agent utilisateur par programme
- 4. Profils utilisateur Sharepoint avec authentification par formulaires
- 5. Connexion par programme au Sharepoint ULS
- 6. Lecture ListItems from Sharepoint List par programme
- 7. Ajouter par programme un utilisateur local à un groupe local
- 8. Portée par défaut sur Sharepoint Recherche avancée
- 9. Comment renommer par programme un répertoire Sharepoint (SPFolder ou SPListItem)?
- 10. Ajout de tâches par programme dans la taskList dans sharepoint
- 11. Instanciation par programme d'une page de composant WebPart dans Sharepoint
- 12. Déterminer les sites SharePoint et les sites Web qu'un utilisateur spécifié peut accéder par programme?
- 13. Création par programme d'un workflow de site dans SharePoint 2010?
- 14. Création par programme d'un événement: Button et attachement dans SharePoint
- 15. Liste des propriétés gérées par défaut dans la recherche SharePoint
- 16. Recherche Twitter tweets par #topic avec un utilisateur distinct
- 17. SharePoint utilisateur de workflow
- 18. google recherche personnalisée ajouter annotation par programme
- 19. Comment définir par programme la propriété Centre de recherche des collections de sites de SharePoint?
- 20. Colonne de recherche SharePoint
- 21. Recherche avancée option Recherche Sharepoint
- 22. Comment "starter" une URL dans la recherche Google par programme
- 23. SharePoint Liste Recherche
- 24. utiliser par programme UISearchDisplayController
- 25. Sharepoint 2007 - recherche
- 26. Service Web de recherche d'entreprise dans SharePoint
- 27. recherche personnalisée sharepoint liste
- 28. recherche listview dans vb.net un-par-un
- 29. Problème de profil utilisateur avec l'authentification par formulaires et SharePoint
- 30. Sharepoint Recherche propriété Pondération
Cela semble en arrière qu'il n'y a pas une liste globale, vous pouvez interroger, mais après l'exécution EnsureUser , l'utilisateur apparaît alors dans la liste SPSite.SiteUsers. Vous pouvez ensuite récupérer l'objet SPUser dans la liste qui correspond exactement à ce dont j'ai besoin. – ICodeForCoffee
@ICodeForCoffee Mais le EnsureUser retourne l'objet SPUser. – Alex