Con la necessità di un accesso così granulare, potresti dover considerare se un argomento pubblico normale sia la soluzione migliore. Forse puoi dirci di più sul tuo caso d’uso specifico?
Un buon punto di partenza sarebbe effettivamente il mio plugin private-replies. Ha una funzione chiamata can_see_post_if_author_among che attualmente accetta un argomento. Dovresti modificarla per accettare un post. Dovresti memorizzare gli utenti autorizzati con il post in un campo personalizzato e quindi controllare l’utente che visualizza rispetto a quell’elenco.
Il plugin sovrascrive anche la logica di controllo dell’accesso per post grezzi, ricerca, visualizzazioni di argomenti e attività del profilo utente.
Detto questo, mi aspetto che incontrerai parecchi problemi sia dal punto di vista delle prestazioni che dell’esperienza utente, e specialmente se non hai esperienza nello sviluppo di plugin per Discourse, questa può essere un’impresa piuttosto impegnativa, quindi ti consiglierei ancora una volta di considerare se questo è l’approccio migliore per il tuo caso d’uso.