Permissions granulaires basées sur les groupes pour les utilisateurs anonymes et connectés

En examinant ces composants, currentUser?.groups n’est pas fiable de toute façon, car il ne comprend que les groupes visibles pour l’utilisateur, et les groupes dans lesquels il se trouve et qui influencent les autorisations peuvent ne pas être sérialisés ici :

Nous contournons cela dans le noyau et les plugins en procédant comme ceci dans le sérialiseur de l’utilisateur actuel :

Mais évidemment, cela n’est pas disponible pour les composants de thème et les thèmes, ni pour leurs paramètres.

Hmm, je ne suis pas sûr, je devrai y réfléchir. Si vous vouliez vraiment dire everyone, alors cela devrait changer à la fois en logged_in_users ET en anonymous_users. C’était le principal problème avec everyone tel que mentionné dans le message original — certaines personnes l’ont interprété comme signifiant uniquement les utilisateurs connectés, d’autres comme signifiant les utilisateurs connectés + anonymes, et cela dépendait beaucoup de la situation.

J’ai choisi l’interprétation « uniquement les utilisateurs connectés » car elle était plus sûre d’un point de vue sécurité.

Non, j’ai simplement oublié les composants de thème et les thèmes, ainsi que leurs paramètres et la façon dont ils seraient affectés par ce changement. J’étais surtout concentré sur les paramètres du site. Des choses comme celle-ci seront particulièrement difficiles à trouver, car elles n’utilisent même pas la constante AUTO_GROUPS :

image

Quoi qu’il en soit, je vais réfléchir à des solutions à ces problèmes, et je ne passerai pas ce changement à la version Stable tant que je n’aurai pas trouvé de solutions.

2 « J'aime »