Skip to content
This repository has been archived by the owner on Jul 16, 2018. It is now read-only.

Implémentation du User + comportement #3

Open
izanagi1995 opened this issue May 31, 2017 · 2 comments
Open

Implémentation du User + comportement #3

izanagi1995 opened this issue May 31, 2017 · 2 comments

Comments

@izanagi1995
Copy link
Collaborator

Pour moi, quand un utilisateur arrive sur l'OS,

  1. Une session lui est attribué.
  2. Sans être authentifié, il ne peut rien faire.
  3. Une fois authentifié via une commande, la session est liée à cet utilisateur.
  4. Quand il tape une commande, 2 choses peuvent se produire
    a. Soit c'est une SYSCMD (builtin) et la gestion des droits est faite à part dans ce module
    b. Si c'est une commande qui requiert de l'accès "bas niveau" tel que le FS, il faut que ce bas niveau aie la priorité sur la décision d'accès ou non.

Donc Session doit contenir un champ de type User et cette session doit pouvoir être récupérée lors du traitement dans une SYSCMD ou un package.

Avis? :)

@fraxken
Copy link
Member

fraxken commented May 31, 2017

Ba globalement c'est déjà plus ou moins comme cela que le core fonctionne actuellement. Il nous faudra sûrement prévoir un middleware pour vérifier le tout par rapport à nos packages plus simplement je pense mais sinon ont est good.

Actuellement chaque requête doit contenir la sessID (qu'on pourra éventuellement lié à la session socket pour ne pas la ré-envoyé à chaque fois notamment).

Du coup actuellement en terme de code il suffirait dans la SYCMD de faire

const sess= core.sessions.get(pkg.data.sessID);

Et il suffirait d'accéder à l'utilisateur lié en faisant : sess.user

Bref du coup le core fonctionne déjà comme tu la proposé :)

@izanagi1995
Copy link
Collaborator Author

Ok ok 👍 Du coup on récupère la session dans les commandes et on passe ce qu'il faut aux modules de plus bas niveaux?

Concernant les commandes, comment on va gérer les arguments?

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

No branches or pull requests

2 participants