Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Contrôl d'accès à un service Web

7 réponses
Avatar
Oriane
Bonjour,

j'ai fait un site en Asp.Net 2.0 avec une authentificatin par formulaire, en
utilisant le provider de sql. Ce site fait appel à un service Web (une page
asmx). J'aimerais limiter le contrôle d'accès à ce service Web, mais je ne
vois pas comment procéder. Pour l'instant j'en suis réduite à être en mode
anonyme pour que le service puisse être appelé depuis le site.

Normalement l'id qui exécute asp (aspnet sur XP) est le compte qui doit être
autorisé à interroger le service Web, puisque c'est bien sous ce compte que
le site contacte le service non ?

Merci de vos réponses

Oriane

7 réponses

Avatar
Gilles TOURREAU
Le Mon, 16 Jul 2007 14:45:47 +0200, Oriane a écrit:

Bonjour,

j'ai fait un site en Asp.Net 2.0 avec une authentificatin par
formulaire, en utilisant le provider de sql. Ce site fait appel à un
service Web (une page asmx). J'aimerais limiter le contrôle d'accès à ce
service Web, mais je ne vois pas comment procéder. Pour l'instant j'en
suis réduite à être en mode anonyme pour que le service puisse être
appelé depuis le site.

Normalement l'id qui exécute asp (aspnet sur XP) est le compte qui doit
être autorisé à interroger le service Web, puisque c'est bien sous ce
compte que le site contacte le service non ?

Merci de vos réponses

Oriane



Si tu as activé l'authentification Windows au niveau de ton webservice,
lorsque tu contactes celui-ci, ton client (Navigateur, application,...etc)
envoie des informations sur le compte Windows qui execute l'application.
Ensuite le webservice envoie ces informations à IIS et c'est IIS qui
contrôle si ce compte possède les droits pour executer "une page asmx". Si
l'utilisateur n'est pas autorisé un erreur "403 et des brouettes" est
envoyé...
Dans ton cas, c'est le compte "ASP .NET" qui est envoyé...

Cependant ce genre d'authentification ne fonctionne que si tout ce petit
monde se trouve dans le même domaine Windows... Sinon il faut passer par
un autre mécanisme d'authentification (login + mot de passe avec des
variables session) ou alors une autre solution moins pratique pour les
clients, mais très facile à implémenter, dans chaque méthode [WebMethod]
tu passes un paramètre qui contient une clé et tu la contrôle dès le début
de la méthode. Ce genre de procédé est utilisé si à la base tu n'actives
pas les sessions pour des questions de performances...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Oriane
Bonjour Gilles,

"Gilles TOURREAU" a écrit dans le message de
news:
Le Mon, 16 Jul 2007 14:45:47 +0200, Oriane a écrit:


Si tu as activé l'authentification Windows au niveau de ton webservice,
lorsque tu contactes celui-ci, ton client (Navigateur, application,...etc)
envoie des informations sur le compte Windows qui execute l'application.
Ensuite le webservice envoie ces informations à IIS et c'est IIS qui
contrôle si ce compte possède les droits pour executer "une page asmx". Si
l'utilisateur n'est pas autorisé un erreur "403 et des brouettes" est
envoyé...


Oui mais le compte ASPNET (dans mon cas c'est "service réseau") n'est pas
autorisé dans ce cas. C'est pourtant un compte Windows...mais est-ce
vraiment un compte standard ?
Dans ton cas, c'est le compte "ASP .NET" qui est envoyé...

Cependant ce genre d'authentification ne fonctionne que si tout ce petit
monde se trouve dans le même domaine Windows...


Pour moi c'est sur un Intranet. Donc pas de pb de domaine.

[...]
Merci de ta réponse
Avatar
Gilles TOURREAU
Le Mon, 16 Jul 2007 18:24:40 +0200, Oriane a écrit:

Bonjour Gilles,

"Gilles TOURREAU" a écrit dans le message de
news:
Le Mon, 16 Jul 2007 14:45:47 +0200, Oriane a
écrit:


Si tu as activé l'authentification Windows au niveau de ton webservice,
lorsque tu contactes celui-ci, ton client (Navigateur,
application,...etc) envoie des informations sur le compte Windows qui
execute l'application.
Ensuite le webservice envoie ces informations à IIS et c'est IIS qui
contrôle si ce compte possède les droits pour executer "une page asmx".
Si l'utilisateur n'est pas autorisé un erreur "403 et des brouettes"
est envoyé...


Oui mais le compte ASPNET (dans mon cas c'est "service réseau") n'est
pas autorisé dans ce cas. C'est pourtant un compte Windows...mais est-ce
vraiment un compte standard ?
Dans ton cas, c'est le compte "ASP .NET" qui est envoyé...

Cependant ce genre d'authentification ne fonctionne que si tout ce
petit monde se trouve dans le même domaine Windows...


Pour moi c'est sur un Intranet. Donc pas de pb de domaine.

[...]
Merci de ta réponse



Le compte ASPNET est crée au moment de l'installation du Framework .NET
(après IIS) ou via la ligne de commande "aspnet_regiis...".
C'est un compte standard, mais on peut le renommer...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Oriane
Bonjour,
"Gilles TOURREAU" a écrit dans le message de
news:
Le Mon, 16 Jul 2007 18:24:40 +0200, Oriane a écrit:
Le compte ASPNET est crée au moment de l'installation du Framework .NET
(après IIS) ou via la ligne de commande "aspnet_regiis...".
C'est un compte standard, mais on peut le renommer...


Oui bien sûr mais pourquoi en activant l'authentification Windows sur le
service Web appelé par ce compte, ai-je une erreur d'authentification ?

Cordialement
Avatar
Gilles TOURREAU
Le Tue, 17 Jul 2007 09:38:56 +0200, Oriane a écrit:

Bonjour,
"Gilles TOURREAU" a écrit dans le message de
news:
Le Mon, 16 Jul 2007 18:24:40 +0200, Oriane a
écrit:
Le compte ASPNET est crée au moment de l'installation du Framework .NET
(après IIS) ou via la ligne de commande "aspnet_regiis...".
C'est un compte standard, mais on peut le renommer...


Oui bien sûr mais pourquoi en activant l'authentification Windows sur le
service Web appelé par ce compte, ai-je une erreur d'authentification ?

Cordialement



Avez-vous vérifiez la propriété Credentials quand vous appelez votre
WebService ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Oriane
"Gilles TOURREAU" a écrit dans le message de
news:
Le Tue, 17 Jul 2007 09:38:56 +0200, Oriane a écrit:

Avez-vous vérifiez la propriété Credentials quand vous appelez votre
WebService ?



Non mais comment faire cela ?
Avatar
Gilles TOURREAU
Le Tue, 17 Jul 2007 11:43:27 +0200, Oriane a écrit:


"Gilles TOURREAU" a écrit dans le message de
news:
Le Tue, 17 Jul 2007 09:38:56 +0200, Oriane a
écrit:

Avez-vous vérifiez la propriété Credentials quand vous appelez votre
WebService ?



Non mais comment faire cela ?



Credentials représente grosso-modo le mode d'authentification + les
informations d'authentifications.

Il faut affecter le bon Credentials à votre proxy...

Utilisez CredentialCache.DefaultCredentials pour prendre l'utilisateur en
cours avec une authentification Windows NTLM...

Cordialement


--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr