IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SharePoint .NET Discussion :

[C#] Supprimer les Groupes et Users liés a un document / delete user permissions


Sujet :

SharePoint .NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut [C#] Supprimer les Groupes et Users liés a un document / delete user permissions
    Bonjour,


    Est il possible de supprimer un utilisateur / groupe qui sont rattachés a un document uploader sur le site sharepoint en C# ?

    j'ai un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public override void ItemAdded(SPItemEventProperties properties)
    peut on supprimer un utilisateur depuis un SPListItem ? ou autre...


    j'aimerais aussi savoir comment rentrer en mode debug une fois le projet deployer depuis visual studio, j ai beau mettre debugger.launch() rien ne se passe... aucune instance n'est demandé

    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Euhh.... pti souci:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       private void ChangeItemExistingRoles(SPListItem item)
            {
                foreach (SPRoleAssignment roleAssignment in item.RoleAssignments)
                { 
     
     
    {...}
                ----> PB        item.RoleAssignments.RemoveById(roleAssignment.Member.ID);
     
                    }
                }
                item.Update();
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
       at Microsoft.SharePoint.SPBaseCollection.SPEnumerator.System.Collections.IEnumerator.MoveNext()
       at OverrideRightsSharePoint.ListDefinition1ItemEventReceiver.ChangeItemExistingRoles(SPListItem item)
       at OverrideRightsSharePoint.ListDefinition1ItemEventReceiver.SetAuthorAsOnlyEditor(SPListItem item)
       at OverrideRightsSharePoint.ListDefinition1ItemEventReceiver.ItemAdded(SPItemEventProperties properties)


    je ne comprend tjs pas comment supprimer en C# un utilisateur/group dans les permissions d un documents

  3. #3
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    quelque chose comme ca ?

    (item étant un SPItem...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SPSecurity.RunWithElevatedPrivileges(delegate() {
                    using (SPWeb web = new SPSite(siteId).OpenWeb(webId)) {
                        web.AllowUnsafeUpdates = true;
     
                        SPListItem item = workflowProperties.Item;
                        item.BreakRoleInheritance(true);
                        web.AllowUnsafeUpdates = true;
     
                        /// clear assignments
                        do {
                            item.RoleAssignments.Remove(0);
                        } while (item.RoleAssignments.Count > 0);
     
                    }
                });

  4. #4
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Points : 1 352
    Points
    1 352
    Par défaut
    tu n'as pas un item.RoleAssignments.RemoveAll() ?

  5. #5
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    euh...peut-etre ... ...

    mais je crois pas ...c'est un SPRoleAssignmentCollection

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    LefortLudovic

    si j ai mais ca me met seulement un "access limited" alors que je voudrais supprimer totalement le user / group comme on le fait depuis l interface ( cocher puis action: remove user permissions)

  7. #7
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Points : 1 352
    Points
    1 352
    Par défaut
    Pour le debug, tu dois attacher visual studio au process w3p.exe. Tu peux le faire depuis le menu debug de visual studio.

    Normalement si tu faus un item.BreakRoleInheritance(false), ton item se retrouve sans aucun role attribué, ensuite tu ajoutes ceux qui t'intresse et tu fais un item.systeupdate().

    Si tu veux plus d'info sur la modification de permission, tu peux toujours jetter sur une solution que je viens de terminer :

    http://www.codeplex.com/spchangepermission

    Les sources sont téléchargeable.

    Ludovic,

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/12/2009, 10h30
  2. [JAVA] Supprimer les users d'un groupe
    Par zimit dans le forum SDK
    Réponses: 1
    Dernier message: 03/09/2009, 17h39
  3. lister les groupes d'un user LDAP
    Par david87 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/10/2008, 14h13
  4. Réponses: 4
    Dernier message: 09/01/2007, 14h28
  5. [SQL 2K] Supprimer les single user ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 01/08/2005, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo