SolidOS / SolidOS/solid-ui

Sharing pane overwrites current owner

Aperta
#396 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug priority-high
Lingua principale
TypeScript
Stelle
153
Fork
46
Merge medio
1g 8h
PR unite (30g)
7

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal flusso del pannello di condivisione attivato da “Set specific sharing preferences” e dall’aggiunta di un utente tramite il segno più verde. Traccia il modo in cui l’ACL esistente viene aggiornata quando viene aggiunto un nuovo WebID; il lavoro è completato quando il nuovo utente viene aggiunto e il proprietario attuale e i permessi esistenti rimangono invariati. Riproduci i passaggi riportati nell’issue per verificare l’ACL risultante.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
authorization, frontend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.