Re: API Autoriser ! ;)

YannX SPIP <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <DB6PR0101MB214950C62B858A717D84587DEEE90@DB6PR0101MB2149.eurprd01.prod.exchangelabs.com>
Le 21/08/2016 à 16:31, David Fredette a écrit :
>> Le 21 août 2016 à 10:17, YannX SPIP <[email protected]> a écrit :
>>
>> PS mais j'avoue n'avoir encore que "relu", et pas "etudié" ton travail.
>> j'ai donc certainement l'opportunité de changer d'avis
> Ça serait peut-être bien de commencer par la ...
>
> A la lecture de tes réponse, une grosse partie à été écrit pour rien et ne s'applique pas du tout à ma proposition !! ;).

Premiere reflexion : ta structure $table_des_droits me parait avoir une 
vue trop restrictive et n'est pas extensible ; je dis cela  en vieil 
habitué des structurations de BDD (normalisation), la 
sélection-firltrage peut s'opérer par SQL (donc plus rapidement, surtout 
sur de grosses populations d'objets et/ou d'individus) sans avoir à 
décoder l'array sérialisé "droits" ; par contre, je reprends ton idée de 
"libellé" du droit pour mieux expliquer son usage (cela pourrait être 
inscrit dans l'initialisation des constantes du plugin pour reprendre 
les droits standard, puis étendu par un autre pipeline pour mise à 
dispositon des plugins qui ne voudraient pas ecrire dans la BDD 
directement !)

Cette structure de BDD, sous réserve de définir une fois dans le core 
les héritages de hiérarchie entre droits, satisfait à la reprise des 
fonctionnements existants, et des droits "0minirezo"....

Mais en-dehors des fonctions d'interface d'administration liant à la BDD 
/et avant de relire le code/ pas d'autres changements fonctionnels ; il 
reste juste a voir comment ajouter le traitement des exceptions 
temporaires dans la BDD (cf. le cham "options".

Je ne comprends pas bien la Phase 1-6 "mettre en place un systeme de 
fonction etendue"

En regardant quelque peu le code de SPIP et des plugins, je crois 
pouvoir affirmer que le systeme d'un autoriser_bdd() que j'evoque reste 
totalement compatible en co-existence avec l'existant (dès lors que les 
dev-core acceptent de rajouter deux lignes dans le code de 
ecrire/inc/autoriser[114] pour tester l'existence de 
autoriser_bdd_dist() et le OR sur les deux resultats), y compris avec 
des plugins non encore connus, ce qui repond à l'objection de JLuc.

En outre le stockage en BDD d'une table spip_acl  (sur le modèle des 
tables de liens déja souvent utilisé en SPIP) telle que je l'ai définie 
peut parfaitement se satisfaire ensuite me semble-t-il d'une mise en 
cache de fonctions d'autorisations pré-compilées pour accélerer le 
systeme, ce qui eviterait donc une surchagee de la BDD à l'exploitation...



-- 
YannX
http://www.spippourlesnuls.f
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.