2010-08-04 2 views
1

J'essaye d'écrire un utilitaire pour trouver/supprimer des utilisateurs et des groupes spécifiques d'une collection de sites SharePoint. À ce stade, j'utilise la propriété SiteUsers de la classe SPWeb pour faire le travail, mais je me demande: pourquoi n'y a-t-il pas une propriété similaire dans la classe SPSite? Cela me semble complètement contre-intuitif (même si à ce stade, rien sur SharePoint ne me surprend plus).Comment purger des utilisateurs/groupes spécifiques d'une collection de sites SharePoint?

Existe-t-il une meilleure façon de faire ce que j'essaie de faire?

connexes: SharePoint - Get a list of current users

Répondre

1

Malheureusement, je ne peux pas vraiment répondre POURQUOI il a fini de cette façon ... :) est un fait de SharePoint que vous avez appeler SPSite.OpenWeb () ou SPSite.RootWeb, puis utilisez le SPWeb pour accéder à SiteUsers. Je pense que la façon dont vous le faites en utilisant le modèle d'objet est bien.

Si vous passez à utiliser les services Web de SharePoint, vous pouvez utiliser ces deux méthodes: RemoveUserFromSite et RemoveGroup.

+0

Étant donné que chaque site Web peut avoir différents utilisateurs, le fait d'avoir les utilisateurs de suppression dans le SPSite et les utilisateurs d'ajouter sur le Web serait également contre-intuitif. Avoir les deux objets supprimer les utilisateurs laisserait l'homme avec deux montres se demandant quelle heure il est. – Nat

+0

C'est tout mon argument. Au lieu d'avoir une propriété "SiteUsers" sur SPWeb, pourquoi n'ont-ils pas simplement mis une propriété "AllUsers" sur SPSite? Cela n'a aucun sens pour moi. –

+0

Je suis d'accord, cela n'a pas vraiment de sens pour moi non plus ... surtout quand vous pensez que le SPSite représente la totalité de la collection de SPWebs. Peut-être parce que les utilisateurs appartiennent à la racine SPWeb plutôt qu'à la collection de sites dans son ensemble? Une fois qu'ils appartiennent à la racine, la collection des utilisateurs cascades vers les sous-SPWebs. –

Questions connexes