Bonjour,
Je souhaite savoir si on peut définir des droits d'accès sur chaque Item d'une liste sharepoint. Existe t il des champs par défaut pour chaque item pour désigner les lecteurs et les modificateurs ?
Merci
Bonjour,
Je souhaite savoir si on peut définir des droits d'accès sur chaque Item d'une liste sharepoint. Existe t il des champs par défaut pour chaque item pour désigner les lecteurs et les modificateurs ?
Merci
Oui c'est possible. Il suffit d'aller dans le menu déroulant de l'item puis cliquer sur Gérer les autorisations.
Attention, cela est possible, mais trés complexe côté admin par la suite!
A déconseiller, donc, par défaut...
N'est il pas envisageable de "regrouper" les élements dans des répertoires, où tu peux aussi gérer des autorisations...
Il y a aussi l'approche avec les filtres (=[ME]), qui permet de contourner le pb (mais pas l'aspect confidentiel..)
D.
Bonjour,
Merci pour vos réponses, mais je n'ai pas très bien compris l'approche des filtres. Avez vous un exemple ?
En fait, je voulais gérer ces autorisations par code, c'est faisable ? Par exemple, lorsque un utilisateur veut ouvrir un item, le code vérifie s'il a les droits d'ouverture.
Pour le filtre il faut que tu crées un affichage Mes éléments par exemple sur lequel tu mets un filtre du type Créé par = [Utilisateur actif] et cet affichage ne montrera que les éléments créés par l'utilisateur connecté.
Oui tu peux gérer les autorisations par code mais tu n'as pas besoin de tester si l'utilisateur a les droits quand tu ouvres l'élément vu que c'est sharepoint qui le fait.
Bonjour, vous avez dit que SharePoint gère les autorisations seuls. Mais, en fait, je veux modifier les droits pour chaque Item, du coup lorsque l'utilisateur veut visualiser un Item, le code teste si l'utilisateur courant à le droit d'ouvrir ou non.
Bon j'ai eu l'idée de créer un EventHandler, comment vous trouvez cette solution ?
Salut,
tu n'as nullement besoin de gérer les autorisations au niveau de ton code.
SP le gère tout seul. Comment fait-il ? lorsqu'un utilisateur exécute ton code, SP récupère l'utilisateur connecté, et exécute ton code dans le contexte de l'utilisateur connecté. de cette facon, si il a l'autorisation d'effectuer une action, SP exécutera ton code, sinon, il plantera... Attention donc à bien gérer les exceptions.
Bonsoir,
D'accord mais comment je peux faire çà ? Mon code il doit se situer ou ? commet j'appelle mon code (via une feature ?)
Merci de m'indiquer même les démarches en gros.
Ton code est déclenché au moment ou il doit l'être...
si ton code est une webpart, il est déclenché au moment ou un utilisateur utilise ta wp, et avec les autorisations de l'utilisateur utilisant ta wp.
si ton code est un event handler, par ex de type itemadded, il est déclenché au moment ou un utilisateur ajoute un nouvel élément, et avec les infos de l'utilisateur ayant déclenché l'événement.
etc...
Merci , mais c'est que je voulais dire au début : je développerai un eventhandler.
J'ai une autre question : est ce qu'il y a un event pour gérer l'ouverture d'un item c'est généralement l'ouverture de la page displayItem.aspx ou ViewItem.aspx ?
Pour la modification et la suppression il y a un évènement associé mais la visualisation j'ai pas trouvé.
Dans ton event handler tu dois briser l'héritage des droits puis les recréer avec ton code.
Bonjour,
Comment je peux briser l'héritage ? Dans ce cas je peux gérer la visulation des Items ?
Vous avez un exemple de code SVP ?
salut,
bon, d'abord, pour recentrer la question, tu veux mettre a jour automatiquement les droits des documents de ta liste ? Parce que des messages precedents, jái du mal a voir ton besoin "fonctionnel"
Cote code, fais un coup de Google sur BreakRoleInheritance et SPRoleAssignment, cela devrait resoudre 70% de tes questions
Pour un bout de code (parce que je suis sympa...), tu peux t'inspireer de ce bout de coe, qui fait sur les dossiers ce que tu veux faire sur les documents (enleve l'heritage des droits, et donne a l'user courant les droits d'admin...)
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
16 web.AllowUnsafeUpdates = true; SPListItem folderItem = web.GetFolder(folder.UniqueId).Item; SPRoleDefinition roleDefinition = web.RoleDefinitions.GetByType(SPRoleType.Administrator); SPRoleAssignment roleAssignment = new SPRoleAssignment((SPPrincipal)currentUser); roleAssignment.RoleDefinitionBindings.Add(roleDefinition); if (!folderItem.HasUniqueRoleAssignments) { folderItem.BreakRoleInheritance(true); } // we need to set AllowUnsafeUpdates back to true, as the BreakRoleInheritance // call resets it to false web.AllowUnsafeUpdates = true; folderItem.RoleAssignments.Add(roleAssignment); folderItem.Update();tu veux dire la visualisation ?je peux gérer la visulation des Items ?
L'affichage des items se fera en fonction des droits de ton utilisateur. Si il a des droits sur l'item, il le verra, sinon, il ne le verra pas...
Bonjour,
Merci vraiment pour votre aide, en fait la visualisation c'est l'affichage d'un Item.
Donc si j'ai bien compris, il faut que je change les roles (SPRoleAssigenemnt) ?
Oui c'est ça et l'utilisateur ne verra que les éléments sur lequel il a au moins un droit en lecture.
D'accord, mais est ce que je peux appliquer ça pour la modification et le suppresion des Items, ou bien je dois passer par un eventHandler
Avec ton eventhandler tu peux donner les droits en lecture, modification et suppression ou autre comme tu le souhaites.
Bonjour,
Je pense que l'event handler gère la modification et la suppression mais je n'ai pas trouvé un type d'évènement qui traite la visualisation (lecture). Bon l'idée que j'ai, c'est deux créer 2 event handlers pour modifier et supprimer, concernant la lecture je metterai le code que vous m'avez montré qui permet de casser les anciens droits et de les remplacer. Comment vous trouvez l'idée ?
Je vois pas pourquoi faire en 2 fois ce que tu peux faire en une seule...
Si t'arrives à mettre les droits en modification et suppression y a pas de raison que tu saches pas le faire en lecture...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager