Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAmauri Franco Modifié depuis plus de 10 années
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
22
Configuration
23
Utilisateurs en base de données ?
24
Utiliser un formulaire ?
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.