Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instance multi-utilisateurs #126

Closed
Cypouz opened this issue Aug 19, 2013 · 8 comments
Closed

Instance multi-utilisateurs #126

Cypouz opened this issue Aug 19, 2013 · 8 comments

Comments

@Cypouz
Copy link

Cypouz commented Aug 19, 2013

J'avais prévenu que j'y reviendrai ;) Voilà donc qui est fait. Petit rapport de bug rapide pour « officialiser » la demande de la fonctionnalité multi-utilisateurs dans FreshRSS.

Demande qui rejoint, dans une certaine mesure, la discussion initiée à propos de l'interface de connexion : issue #104.

@marienfressinaud
Copy link
Member

Comme pour la demande de l'interface de connexion, je ne pense pas que ça soit réalisable actuellement. Ce n'est pas que je n'ai pas envie de proposer une telle fonctionnalité (ce serait même une force pour FreshRSS), mais c'est que ça implique une grosse dose de travail, de restructuration du code, de modifications de la base de données, etc. Ça demande d'énormes changements et rendrai le tout très instable. Et je ne dis pas ça sans y avoir réfléchi avant, justement ;)

Ce n'est donc clairement pas une demande que je puisse satisfaire ni pour la version 0.5, ni même la version 1.0 qui devrait suivre, désolé...

@Alkarex
Copy link
Member

Alkarex commented Oct 26, 2013

Notes pour plus tard : Une possibilité qui serait sûrement acceptable pour un nombre restreint d'utilisateurs sans avoir à trop changer le code existant est d'ajouter un préfixe utilisateur au nom des tables, genre "freshrss_utilisateur1_feed", auquel cas il faudrait :

  • ajouter une interface pour gérer les utilisateurs
    • éventuellement en généralisant install.php
  • adapter l'interface de connexion
  • chercher les $this->prefix et ajouter un $this->user
  • Ajouter le préfixe utilisateur aussi au fichier Configuration.array.php

SimplePie mettant en cache les flux, ceux-ci ne seraient téléchargés qu'une seule fois si plusieurs utilisateurs sont abonnés au même flux.

@marienfressinaud
Copy link
Member

@Cypouz, à priori proposer du multi-utilisateurs est envisageable. Je l'ai marqué pour la version 0.8 mais je laisse le label "facultatif"

@marienfressinaud
Copy link
Member

Au passage il faudrait prévoir un ou plusieurs utilisateurs administrateurs

@Alkarex
Copy link
Member

Alkarex commented Nov 17, 2013

Oui. Pour l'instant, j'en suis seulement à la séparation des fichiers utilisateurs, par exemple utilisateur1_user.php à la place de Configuration.array.php et dans la base de données un préfixe freshrss_utilisateur1_ plutôt que freshrss_ ce qui devrait donner la possibilité d'implémenter différents niveaux de droits ou autres par la suite

Alkarex added a commit that referenced this issue Nov 17, 2013
Préparation de #126
Suite de #248
Nécessite un script de mise à jour
#255
Install.php n'est pas encore testé
#273
Alkarex added a commit that referenced this issue Dec 26, 2013
Alkarex added a commit that referenced this issue Dec 27, 2013
Contribue à #126
Alkarex added a commit that referenced this issue Dec 27, 2013
Alkarex added a commit that referenced this issue Dec 28, 2013
Alkarex added a commit that referenced this issue Dec 28, 2013
Alkarex added a commit that referenced this issue Dec 28, 2013
L'accès anonyme n'est pas au niveau utilisateur mais au niveau global.
Bouge FreshRSS_Configuration::conf->anonAccess() qui était stocké dans
*_user.php vers Minz_Configuration::allowAnonymous() stocké dans
config.php
Contribue à #126
+ autres optimisations
Contribue à #260
Alkarex added a commit that referenced this issue Dec 29, 2013
Alkarex added a commit that referenced this issue Dec 30, 2013
+ Légère optimisation de Minz_View.
+ Encore plus de tests de bibliothèques dans install.php
Contribue à #126 et
#303
Alkarex added a commit that referenced this issue Dec 30, 2013
Contribue à #126.
Il faudra restaurer la gestion du cache HTTP pour les logs
Alkarex added a commit that referenced this issue Dec 30, 2013
@ghost ghost assigned Alkarex Dec 30, 2013
Alkarex added a commit that referenced this issue Dec 31, 2013
+ Possibilité d'ajout / suppression d'utilisateur (seulement par
l'administrateur)
+ Divers changements pour le mode multi-utilisateur
#126
+ Minz : Renomme "sel_application" en "salt'
@Alkarex
Copy link
Member

Alkarex commented Dec 31, 2013

Voilà, avec le patch ci-dessus qui a atterri dans /dev, le mode multi-utilisateur fonctionne déjà en HTTP Auth (c'est à dire avec un .htaccess + .htpasswd où le nom d'utilisateur HTTP doit être identique au nom d'utilisateur FreshRSS).

Il est possible pour l'administrateur (l'utilisateur par défaut) de créer et supprimer des utilisateurs depuis l'interface de FreshRSS.

J'ajouterai le multi-utilisateur avec Persona d'ici peu.

Alkarex added a commit that referenced this issue Dec 31, 2013
Il faut ré-enregistrer l'adresse courriel une fois dans l'interface de
FreshRSS pour créer le fichier nécessaire.
+ Comparaison sans tenir compte de la casse pour les noms d'utilisateur.
Contribue à #126
ll faudra tester la sécurité
Alkarex referenced this issue Jan 1, 2014
Minz ne prenait pas en charge OPcache (cache PHP) http://php.net/opcache
activé par défaut depuis PHP5.5.
Ce fut un peu dur d'isoler ce bug :-/
Il faut penser à appeler opcache_invalidate avant de ré-utiliser un
fichier par include().
Aussi, le mécanisme de lock() n'est plus approprié ni nécessaire.
Pour FreshRSS, évite l'utilisation de ModelArray car il ne restait que
quelques lignes d'utiles, et évite un héritage + appel de classe, ce qui
est toujours ça de gagné.
@Alkarex
Copy link
Member

Alkarex commented Jan 1, 2014

Voilà de quoi bien démarrer la nouvelle année, avec le mode multi-utilisateur implémenté :-)
À tester maintenant de manière plus approfondie, en créant au besoin des rapports de bugs plus spécifiques.

@Alkarex Alkarex closed this as completed Jan 1, 2014
Alkarex added a commit that referenced this issue Jan 1, 2014
Changement oublié dans
66229a5
pour #126
Alkarex added a commit that referenced this issue Jan 1, 2014
Alkarex referenced this issue Jan 1, 2014
* Affichage logo FreshRSS pendant la demande de nom d'utilisateur HTTP
* Meilleure page d'erreur si utilisateur HTTP non-configuré dans
FreshRSS + log

Je recommande donc de placer le .htaccess pour le contrôle d'accès dans
./FreshRSS/p/i/.htaccess et pas plus haut pour une meilleure mise en
cache et messages de connexion.
Alkarex added a commit that referenced this issue Jan 2, 2014
* Messages plus verbeux dans actualize_script
* Ajout d'un message syslog lorsque SimplePie fait une requête HTTP
* Minz_Session ne fermait pas les sessions complètement.
* Nouvelle option dans Minz_Dispatcher et Minz_FrontController  pour ne
pas utiliser ob_gzhandler.
Contribue à #126
@Alkarex
Copy link
Member

Alkarex commented Jan 2, 2014

Maintenant prévu pour sortir avec la prochaine version 0.7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants