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

Le
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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12175871
Le Mon, 16 Jul 2007 14:45:47 +0200, 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



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
Oriane
Le #12175861
Bonjour Gilles,

"Gilles TOURREAU" news:
Le Mon, 16 Jul 2007 14:45:47 +0200, 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é...


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
Gilles TOURREAU
Le #12175851
Le Mon, 16 Jul 2007 18:24:40 +0200, Oriane
Bonjour Gilles,

"Gilles TOURREAU" news:
Le Mon, 16 Jul 2007 14:45:47 +0200, Oriane é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
Oriane
Le #12175831
Bonjour,
"Gilles TOURREAU" news:
Le Mon, 16 Jul 2007 18:24:40 +0200, Oriane 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
Gilles TOURREAU
Le #12175821
Le Tue, 17 Jul 2007 09:38:56 +0200, Oriane
Bonjour,
"Gilles TOURREAU" news:
Le Mon, 16 Jul 2007 18:24:40 +0200, Oriane é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
Oriane
Le #12175811
"Gilles TOURREAU" news:
Le Tue, 17 Jul 2007 09:38:56 +0200, Oriane
Avez-vous vérifiez la propriété Credentials quand vous appelez votre
WebService ?



Non mais comment faire cela ?
Gilles TOURREAU
Le #12175801
Le Tue, 17 Jul 2007 11:43:27 +0200, Oriane

"Gilles TOURREAU" news:
Le Tue, 17 Jul 2007 09:38:56 +0200, Oriane é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
Publicité
Poster une réponse
Anonyme