Sommaire: Securiser un webservice en asp.net grace aux cookies
– Introduction
1 – Déroulement global des opérations
2 – Web service de base (non sécurisé)
3 – Création d’une classe UserToken
4 – Création de la classe SecurityManager
5 – Identification de l’utilisateur
6 – Ecrire une méthode sécurisée
7 – Coté client
8 – Conclusion
9 – Sources de l’exemple
Extrait du cours securiser un webservice en asp.net grace aux cookies
– Introduction
Dans le cas où un web service doit être publié sur le web, il paraît indispensable de le sécuriser si il est lié à des informations confidentielles.L’utilisation de cookies permet de rendre l’application compatible avec des clients Windows Form et Web.
1 – Déroulement global des opérations
1 Identification de l’utilisateur (username, password).
2 Un token contenant des informations sur l’utilisateur est stocké dans la variable de session et un cookie est envoyé au client.
3 Le client envoie ce cookie lors des appels aux web services.
2 – Web service de base (non sécurisé)
Pour notre exemple nous allons partir d’un web service basique non sécurisé avec une seule méthode qui reçoit deux entiers et retourne la somme. Rien de bien méchant 🙂
3 – Création d’une classe UserToken
Cette classe nous permettra de stocker toutes les informations nécessaire à la vérification de la validité de l’appel au web service.Dans cet exemple nous allons vérifier une seule chose :
•L’adresse IP : elle ne peut pas changer entre deux appels
La classe SecurityManagercontient deux méthodes statiques :
•createUserToken
•checkUserToken :La méthode CreateUserToken instancie un objet UserTokenen se basant sur l’ip du client et le retourne
4 – Création de la classe SecurityManager
Dans cet exemple l’identification est toujours acceptée.Vous avez peut-être remarqué le paramètre ‘true’ dans l’attribut [WebMethod] Il s’agit de la prorieté EnableSessionde l’attribut WebMethod qui permet d’accèder à la variable de session dans notre application.Si la vérification du username et password est acceptée nous faisons appel à la méthode SecurityManager.createUserToken() A partir de mainenant l’utilisateur peut faire appel aux web services.
5 – Identification de l’utilisateur
Dans cet exemple l’identification est toujours acceptée.Vous avez peut-être remarqué le paramètre ‘true’ dans l’attribut [WebMethod] Il s’agit de la prorieté EnableSessionde l’attribut WebMethod qui permet d’accèder à la variable de session dans notre application.Si la vérification du username et password est acceptée nous faisons appel à la méthode SecurityManager.createUserToken() A partir de maintenant l’utilisateur peut faire appel aux web services.
………
Cours PDF securiser un webservice en asp.net grace aux cookies (Cours PDF)