SolidOS / SolidOS/solid-ui

Sharing pane overwrites current owner

Ouverte
#396 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug priority-high
Langage dominant
TypeScript
Étoiles
153
Forks
46
Merge moyen
1 j 8 h
PR mergées (30 j)
7

Description

Did this always happen? It seems pretty big.

To Replicate:

  • In the databrowser, create a new file in, say, the private folder (https://jackson.localhost:8443/private/test.txt)
  • Once you do that, the private folder has two resources (https://jackson.localhost:8443/private/test.txt and https://jackson.localhost:8443/private/.acl - the private folder's default acl, seen below)
# ACL resource for the private folder
@prefix acl: <http://www.w3.org/ns/auth/acl#>.

# The owner has all permissions
<#owner>
    a acl:Authorization;
    acl:agent <https://jackson.localhost:8443/profile/card#me>;
    acl:accessTo <./>;
    acl:defaultForNew <./>;
    acl:mode acl:Read, acl:Write, acl:Control.
  • At this point, everything's good. text.txt inherits its permissions from private's acl.
  • Go to the sharing pane and click "Set specific sharing preferences"
  • This will cause a new file (https://jackson.localhost:8443/private/test.txt.acl) to be made (see below)
@prefix : <#>.
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix c: </profile/card#>.

:owner
    a acl:Authorization;
    acl:accessTo <test.txt>;
    acl:agent c:me;
    acl:mode acl:Control, acl:Read, acl:Write.
  • Everything's still fine because it adds c:me to the acl.
  • Now, click the green plus and the single person icon to add a new user.
  • Add another webid like https://ldp.demo-ess.inrupt.com/114176645321964550648/profile/card#me
  • This updates https://jackson.localhost:8443/private/test.txt.acl to be below
@prefix : <#>.
@prefix n0: <http://www.w3.org/ns/auth/acl#>.
@prefix c: <https://ldp.demo-ess.inrupt.com/114176645321964550648/profile/card#>.

:Read a n0:Authorization; n0:accessTo <test.txt>; n0:agent c:me; n0:mode n0:Read.
  • Notice that instead of adding the new user, it fully replaced the original owner of the document.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par le flux du panneau de partage déclenché par « Set specific sharing preferences » et par l’ajout d’un utilisateur avec le signe plus vert. Suivez la manière dont l’ACL existante est mise à jour lorsqu’un nouveau WebID est ajouté ; c’est terminé lorsque le nouvel utilisateur est ajouté et que le propriétaire actuel ainsi que les autorisations existantes sont conservés. Reproduisez les étapes indiquées dans l’issue pour vérifier l’ACL obtenue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
authorization, frontend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.