La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Développement dapplications web Authentification, session.

Présentations similaires


Présentation au sujet: "Développement dapplications web Authentification, session."— Transcription de la présentation:

1 Développement dapplications web Authentification, session

2 Besoins Conserver létat dune transaction Savoir quun utilisateur sest déjà authentifié Conserver un état quelconque Panier, etc.

3 http est « stateless » Les requêtes sont indépendantes Pas de lien entre deux requêtes successives Pas de mémoire dun état

4 Comment faire ? Utilisation de formulaires cachés Le contenu du formulaire peut être envoyé avec la requête suivante Utilisation des cookies

5 Quest-ce quun cookie ? Un fichier contenant des informations Un fichier joint à chaque requête faite à notre site => Permet de stocker des informations détat

6 Stockage dans le cookie Plus il y a dinformations dans le cookie plus celui-ci est lourd => requêtes plus lentes et plus lourdes Les informations contenues dans le cookie peuvent-être modifiées ou interceptées => Problème de sécurité pour lutilisateur et notre système

7 Stockage sur le serveur Le cookie ne contient quun identifiant Lensemble des données sont stockées sur le serveur

8 Limitations La session peut-être usurpées si une personne vole le cookie Mise en place de sécurités supplémentaires éventuelles Une charge trop importante des sessions ralentit le serveur Prendre garde à ce que lon stock en session

9 Aventages La session permet: De conserver lidentification dune personne De suivre un état (passage par différentes étapes) …

10 Authentification Lauthentification est le moyen utilisé pour reconnaître un utilisateur Plusieurs solutions sont possibles: Authentification HTTP Authentification par un formulaire Lutilisation de clés (paire de clés public/privée souvent) ID + nom de domaine

11 Authentification Nécessite: Une liste des utilisateurs Le mot de passe (ou autre) associé à chaque utilisateur

12 Stocker les identifiants Dans un fichier sur le disque Dans une base de données En mémoire

13 Stocker les identifiants Si ce sont des mots de passes Les crypter (SHA1, MD5, …) Pour les paires de clé La clé privée ne doit pas être révélée => Cest à lutilisateur dêtre prudent

14 Cas général Utilisation dun formulaire pour la connexion Login Mot de passe Les informations sont stockées en base de données

15 Envoi du formulaire Envoi par HTTP Le mot de passe est transmis en clair au serveur Envoi par HTTPS Les données envoyées sont cryptées Plus sécurisées mais loin dêtre infaillible

16 Restriction daccès Chaque utilisateur a un ou des rôles Ou appartient à un ou des groupes Il faut pour chaque page à accès restreint vérifier Que lutilisateur est bien connecté Quil a un rôle lui donnant accès à cette page

17 Et Symfony ?

18 Et Symfony

19

20

21

22 Configuration

23 Utilisateurs en base de données ?

24 Utiliser un formulaire ?

25

26 Il faut que lURL /login soit accessible sans être authentifié, donc de manière anonyme:

27 Plus de détails ? http://symfony.com/doc/current/book/security.html http://symfony.com/doc/current/cookbook/security/entit y_provider.html

28 Questions ? 28


Télécharger ppt "Développement dapplications web Authentification, session."

Présentations similaires


Annonces Google