Re: Autorisations : difficultés pour fair e des actions apparemment simples

RealET <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
RealET a écrit le 03/06/2019 à 14:55 :
> Bonjour,
> 
> J'ai eu besoin sur un site de limiter les actions des rédacteurs :
> •    bloquer toute possibilité de créer de nouveaux articles
> •    bloquer toute possibilité de voir et d'agir sur les rubriques du 
> site dans lesquelles on n'a pas d'article à son nom
> •    pouvoir voir et modifier uniquement les articles dont on est 
> l'auteur (y compris après publication)
> •    ne lui permettre de voir en back-office que les articles dont il 
> est l'auteur
> 
> Et là, j'ai dû jongler entre :
> - des autoriser (voir, modifier)
> - le pipeline preboucle pour interdire l'accès à certains contenus
> 
> Sachant que je n'ai eu bien sûr besoin de cela qu'uniquement dans le 
> privé (ecrire/).
> 
> Si j'avais pu faire cela uniquement avec des autorisations, ça aurait 
> été plus simple.
> 
> Un exemple ?
> Les rubriques :
> - sur l'accueil de ecrire/ les rubriques listées ou non le sont via un 
> appel à autoriser voir rubrique
> - mais pour le fil d'ariane, j'ai dû passer par pre_boucle
> 
> Les articles :
> - autoriser voir article n'a aucun effet sur les listes d'articles d'une 
> rubrique
> - il a donc fallut aussi passer par un pre_boucle
> 
> PS : Si le plugin intéresse, je devrais pouvoir le diffuser.
> 

Autre exemple : formulaires/editer_article.php fait une vérification que 
j'ai le droit de créer un article dans une rubrique.
Même si l'article existe déjà :(
J'ai donc (de manière crade) eu à surcharger 
formulaires_editer_article_verifier_dist
en y supprimant
	if (!isset($erreurs['id_parent'])
		and !autoriser('creerarticledans', 'rubrique', _request('id_parent'))
	) {
		$erreurs['id_parent'] = _T('info_creerdansrubrique_non_autorise');
	}

Et en me disant qu'à cet endroit, on ne devrait vérifier le droit que si 
l'article n'existe pas encore.
Sachant que le plongeur de rubrique lui, utilise l'autorisation rubrique 
voir.

-- 
RealET


_______________________________________________
liste: https://listes.rezo.net/mailman/listinfo/spip-dev
doc: http://www.spip.net/
dev: http://trac.rezo.net/trac/spip/
irc://irc.freenode.net/spip
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.