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

authentification windows --> acces à base Access impossible

6 réponses
Avatar
fr
Bonjour,

j'ai créé un site intranet avec une connection à une base Access 97.

1) voici ma chaine de connection :

Dim objConn As New OleDbConnection

objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=""C:\Inetpub\wwwroot\oledb\bd1.mdb"""

objConn.Open()

2) de plus, j'ai ajouté dans le web.config les parametres suivants :

<authentication mode="Windows" />
<identity impersonate="true" />

3) dans IIS, j'ai désactivé l'authentification anonyme et coché
l'authentification Windows.

4) Je récupère très bien l'utilisateur windows identifié, seulement
impossible de connecter à ma base de donnée, sauf si l'utilisateur est
administrateur du serveur !!

Je ne peux pas donner les droits administrateur à tous les users du domaine
!!! Comment faire ?? y'a t il un paramétre à ajouter dans ma chaine de
connection ? En effet lorsqu'on passe par le gestionnaire de serveur dans
Visual Studio pour créer la connection, il y a une tonne de paramétres pour
JET OLEDB 4... mais je ne sais pas à quoi ils servent.

Merci de votre aide, je galère depuis 3 jours !!!

François

6 réponses

Avatar
Pascal Mercier
Bonjour,

Je ne sais pas exactement ce que tu veux faire, mais voilà ce qui se passe :

<authentication mode="Windows" /> signifie que l'authentification pour
accéder au site se base sur les comptes Windows.
<identity impersonate="true" /> signifie que ASP.NET va "personnaliser"
(impersonate en anglais) l'utilisateur Windows qui s'est connecté et donc
prendre son identité.

Tel que tu l'as configuré, il faut donc que toutes les actions réalisées par
les pages soient autorisées pour tous les utilisteurs suceptibles de se
connecter, puisque les pages s'exécutent avec leurs identités. C'est le cas
pour l'accès en lecture/écriture dans un fichier de base Access.
Je te conseillerais d'essayer de ne pas faire d'impersonation et de
configurer les permissions NTFS du répertoire qui contient la base Access
pour permettre au compte ASP.NET de pouvoir lire et écrire dans le fichier.
C'est le compte sous lequel les pages s'exécute par défaut sur Windows XP
(et peut-être sur Windows 2000 je ne sais plus). Si tu utilises Windows
Server 2003, c'est le compte NETWORK SERVICE qui est utilisé par défaut.
Enfin, l'impersonation n'est pas recommandée pour les performances.

Un bon lien sur le sujet :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/secnetlpmsdn.asp
qui explique, notamment, quand utiliser l'impersonation.

Cordialement,
Pascal Mercier - Microsoft France


"fr" <fr @discussions.microsoft.com> wrote in message
news:
Bonjour,

j'ai créé un site intranet avec une connection à une base Access 97.

1) voici ma chaine de connection :

Dim objConn As New OleDbConnection

objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=""C:Inetpubwwwrootoledbbd1.mdb"""

objConn.Open()

2) de plus, j'ai ajouté dans le web.config les parametres suivants :

<authentication mode="Windows" />
<identity impersonate="true" />

3) dans IIS, j'ai désactivé l'authentification anonyme et coché
l'authentification Windows.

4) Je récupère très bien l'utilisateur windows identifié, seulement
impossible de connecter à ma base de donnée, sauf si l'utilisateur est
administrateur du serveur !!

Je ne peux pas donner les droits administrateur à tous les users du


domaine
!!! Comment faire ?? y'a t il un paramétre à ajouter dans ma chaine de
connection ? En effet lorsqu'on passe par le gestionnaire de serveur dans
Visual Studio pour créer la connection, il y a une tonne de paramétres


pour
JET OLEDB 4... mais je ne sais pas à quoi ils servent.

Merci de votre aide, je galère depuis 3 jours !!!

François


Avatar
Paul Bacelar
Heu, là je ne vois pas l'implication de la "personnalisation" sur les
performances.

Pouvez-vous nous dire sur quel aspect cela joue, merci ?
--
Paul Bacelar
Demandeur d'emploi


"Pascal Mercier" wrote in message
news:
Bonjour,

Je ne sais pas exactement ce que tu veux faire, mais voilà ce qui se passe


:

<authentication mode="Windows" /> signifie que l'authentification pour
accéder au site se base sur les comptes Windows.
<identity impersonate="true" /> signifie que ASP.NET va "personnaliser"
(impersonate en anglais) l'utilisateur Windows qui s'est connecté et donc
prendre son identité.

Tel que tu l'as configuré, il faut donc que toutes les actions réalisées


par
les pages soient autorisées pour tous les utilisteurs suceptibles de se
connecter, puisque les pages s'exécutent avec leurs identités. C'est le


cas
pour l'accès en lecture/écriture dans un fichier de base Access.
Je te conseillerais d'essayer de ne pas faire d'impersonation et de
configurer les permissions NTFS du répertoire qui contient la base Access
pour permettre au compte ASP.NET de pouvoir lire et écrire dans le


fichier.
C'est le compte sous lequel les pages s'exécute par défaut sur Windows XP
(et peut-être sur Windows 2000 je ne sais plus). Si tu utilises Windows
Server 2003, c'est le compte NETWORK SERVICE qui est utilisé par défaut.
Enfin, l'impersonation n'est pas recommandée pour les performances.

Un bon lien sur le sujet :



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/secnetlpmsdn.asp
qui explique, notamment, quand utiliser l'impersonation.

Cordialement,
Pascal Mercier - Microsoft France


"fr" <fr @discussions.microsoft.com> wrote in message
news:
> Bonjour,
>
> j'ai créé un site intranet avec une connection à une base Access 97.
>
> 1) voici ma chaine de connection :
>
> Dim objConn As New OleDbConnection
>
> objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=""C:Inetpubwwwrootoledbbd1.mdb"""
>
> objConn.Open()
>
> 2) de plus, j'ai ajouté dans le web.config les parametres suivants :
>
> <authentication mode="Windows" />
> <identity impersonate="true" />
>
> 3) dans IIS, j'ai désactivé l'authentification anonyme et coché
> l'authentification Windows.
>
> 4) Je récupère très bien l'utilisateur windows identifié, seulement
> impossible de connecter à ma base de donnée, sauf si l'utilisateur est
> administrateur du serveur !!
>
> Je ne peux pas donner les droits administrateur à tous les users du
domaine
> !!! Comment faire ?? y'a t il un paramétre à ajouter dans ma chaine de
> connection ? En effet lorsqu'on passe par le gestionnaire de serveur


dans
> Visual Studio pour créer la connection, il y a une tonne de paramétres
pour
> JET OLEDB 4... mais je ne sais pas à quoi ils servent.
>
> Merci de votre aide, je galère depuis 3 jours !!!
>
> François




Avatar
Pascal Mercier
Cela empêche par exemple le connection pooling à une base de données. Voici
un extrait de l'article "Improving ASP.NET Performance" :

Identities. Consider the identities you are using and the way that you flow
identity through your application. To access downstream resources, you can
use the ASP.NET process identity or another specific service identity. Or,
you can enable impersonation and flow the identity of the original caller.
If you connect to Microsoft SQL ServerT, you can also use SQL
authentication. However, SQL authentication requires you to store
credentials in the database connection string. Storing credentials in the
database connection string is not recommended from a security perspective.
When you connect to a shared resource, such as a database, by using a single
identity, you benefit from connection pooling. Connection pooling
significantly increases scalability. If you flow the identity of the
original caller by using impersonation, you cannot benefit from efficient
connection pooling, and you have to configure access control for multiple
individual user accounts. For these reasons, it is best to use a single
trusted identity to connect to downstream databases.

L'article complet sur
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt06.asp

Cordialement
Pascal Mercier - Microsoft France


"Paul Bacelar" wrote in message
news:
Heu, là je ne vois pas l'implication de la "personnalisation" sur les
performances.

Pouvez-vous nous dire sur quel aspect cela joue, merci ?
--
Paul Bacelar
Demandeur d'emploi


"Pascal Mercier" wrote in message
news:
> Bonjour,
>
> Je ne sais pas exactement ce que tu veux faire, mais voilà ce qui se


passe
:
>
> <authentication mode="Windows" /> signifie que l'authentification pour
> accéder au site se base sur les comptes Windows.
> <identity impersonate="true" /> signifie que ASP.NET va "personnaliser"
> (impersonate en anglais) l'utilisateur Windows qui s'est connecté et


donc
> prendre son identité.
>
> Tel que tu l'as configuré, il faut donc que toutes les actions réalisées
par
> les pages soient autorisées pour tous les utilisteurs suceptibles de se
> connecter, puisque les pages s'exécutent avec leurs identités. C'est le
cas
> pour l'accès en lecture/écriture dans un fichier de base Access.
> Je te conseillerais d'essayer de ne pas faire d'impersonation et de
> configurer les permissions NTFS du répertoire qui contient la base


Access
> pour permettre au compte ASP.NET de pouvoir lire et écrire dans le
fichier.
> C'est le compte sous lequel les pages s'exécute par défaut sur Windows


XP
> (et peut-être sur Windows 2000 je ne sais plus). Si tu utilises Windows
> Server 2003, c'est le compte NETWORK SERVICE qui est utilisé par défaut.
> Enfin, l'impersonation n'est pas recommandée pour les performances.
>
> Un bon lien sur le sujet :
>



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/secnetlpmsdn.asp
> qui explique, notamment, quand utiliser l'impersonation.
>
> Cordialement,
> Pascal Mercier - Microsoft France
>
>
> "fr" <fr @discussions.microsoft.com> wrote in message
> news:
> > Bonjour,
> >
> > j'ai créé un site intranet avec une connection à une base Access 97.
> >
> > 1) voici ma chaine de connection :
> >
> > Dim objConn As New OleDbConnection
> >
> > objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> > Source=""C:Inetpubwwwrootoledbbd1.mdb"""
> >
> > objConn.Open()
> >
> > 2) de plus, j'ai ajouté dans le web.config les parametres suivants :
> >
> > <authentication mode="Windows" />
> > <identity impersonate="true" />
> >
> > 3) dans IIS, j'ai désactivé l'authentification anonyme et coché
> > l'authentification Windows.
> >
> > 4) Je récupère très bien l'utilisateur windows identifié, seulement
> > impossible de connecter à ma base de donnée, sauf si l'utilisateur est
> > administrateur du serveur !!
> >
> > Je ne peux pas donner les droits administrateur à tous les users du
> domaine
> > !!! Comment faire ?? y'a t il un paramétre à ajouter dans ma chaine de
> > connection ? En effet lorsqu'on passe par le gestionnaire de serveur
dans
> > Visual Studio pour créer la connection, il y a une tonne de paramétres
> pour
> > JET OLEDB 4... mais je ne sais pas à quoi ils servent.
> >
> > Merci de votre aide, je galère depuis 3 jours !!!
> >
> > François
>
>




Avatar
Paul Bacelar
Une séries d'articles forts intéressant ma foi.

Merci beaucoup ;-)
--
Paul Bacelar
Demandeur d'emploi


"Pascal Mercier" wrote in message
news:
Cela empêche par exemple le connection pooling à une base de données.


Voici
un extrait de l'article "Improving ASP.NET Performance" :

Identities. Consider the identities you are using and the way that you


flow
identity through your application. To access downstream resources, you can
use the ASP.NET process identity or another specific service identity. Or,
you can enable impersonation and flow the identity of the original caller.
If you connect to Microsoft SQL ServerT, you can also use SQL
authentication. However, SQL authentication requires you to store
credentials in the database connection string. Storing credentials in the
database connection string is not recommended from a security perspective.
When you connect to a shared resource, such as a database, by using a


single
identity, you benefit from connection pooling. Connection pooling
significantly increases scalability. If you flow the identity of the
original caller by using impersonation, you cannot benefit from efficient
connection pooling, and you have to configure access control for multiple
individual user accounts. For these reasons, it is best to use a single
trusted identity to connect to downstream databases.

L'article complet sur



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt06.asp

Cordialement
Pascal Mercier - Microsoft France


"Paul Bacelar" wrote in message
news:
> Heu, là je ne vois pas l'implication de la "personnalisation" sur les
> performances.
>
> Pouvez-vous nous dire sur quel aspect cela joue, merci ?
> --
> Paul Bacelar
> Demandeur d'emploi
>
>
> "Pascal Mercier" wrote in message
> news:
> > Bonjour,
> >
> > Je ne sais pas exactement ce que tu veux faire, mais voilà ce qui se
passe
> :
> >
> > <authentication mode="Windows" /> signifie que l'authentification


pour
> > accéder au site se base sur les comptes Windows.
> > <identity impersonate="true" /> signifie que ASP.NET va


"personnaliser"
> > (impersonate en anglais) l'utilisateur Windows qui s'est connecté et
donc
> > prendre son identité.
> >
> > Tel que tu l'as configuré, il faut donc que toutes les actions


réalisées
> par
> > les pages soient autorisées pour tous les utilisteurs suceptibles de


se
> > connecter, puisque les pages s'exécutent avec leurs identités. C'est


le
> cas
> > pour l'accès en lecture/écriture dans un fichier de base Access.
> > Je te conseillerais d'essayer de ne pas faire d'impersonation et de
> > configurer les permissions NTFS du répertoire qui contient la base
Access
> > pour permettre au compte ASP.NET de pouvoir lire et écrire dans le
> fichier.
> > C'est le compte sous lequel les pages s'exécute par défaut sur Windows
XP
> > (et peut-être sur Windows 2000 je ne sais plus). Si tu utilises


Windows
> > Server 2003, c'est le compte NETWORK SERVICE qui est utilisé par


défaut.
> > Enfin, l'impersonation n'est pas recommandée pour les performances.
> >
> > Un bon lien sur le sujet :
> >
>



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/secnetlpmsdn.asp
> > qui explique, notamment, quand utiliser l'impersonation.
> >
> > Cordialement,
> > Pascal Mercier - Microsoft France
> >
> >
> > "fr" <fr @discussions.microsoft.com> wrote in message
> > news:
> > > Bonjour,
> > >
> > > j'ai créé un site intranet avec une connection à une base Access 97.
> > >
> > > 1) voici ma chaine de connection :
> > >
> > > Dim objConn As New OleDbConnection
> > >
> > > objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> > > Source=""C:Inetpubwwwrootoledbbd1.mdb"""
> > >
> > > objConn.Open()
> > >
> > > 2) de plus, j'ai ajouté dans le web.config les parametres suivants :
> > >
> > > <authentication mode="Windows" />
> > > <identity impersonate="true" />
> > >
> > > 3) dans IIS, j'ai désactivé l'authentification anonyme et coché
> > > l'authentification Windows.
> > >
> > > 4) Je récupère très bien l'utilisateur windows identifié, seulement
> > > impossible de connecter à ma base de donnée, sauf si l'utilisateur


est
> > > administrateur du serveur !!
> > >
> > > Je ne peux pas donner les droits administrateur à tous les users du
> > domaine
> > > !!! Comment faire ?? y'a t il un paramétre à ajouter dans ma chaine


de
> > > connection ? En effet lorsqu'on passe par le gestionnaire de serveur
> dans
> > > Visual Studio pour créer la connection, il y a une tonne de


paramétres
> > pour
> > > JET OLEDB 4... mais je ne sais pas à quoi ils servent.
> > >
> > > Merci de votre aide, je galère depuis 3 jours !!!
> > >
> > > François
> >
> >
>
>




Avatar
Paul Bacelar
Pourquoi garder l'impersonate après avoir récupéré le nom.

Si vous revenez à ASP.NET comme utilisateur avant la création des fichiers
temporaires, il n'y a plus de problème, non ?
--
Paul Bacelar
Demandeur d'emploi


"fr" wrote in message
news:
Merci, j'ai trouvé une solution
En fait j'utilise le impersonate dans le but de récupérer le nom de
l'utilisateur
en cours, pour ensuite gérer mes droits d'accés (profil admin ou


superviseur)

par contre, j'ai dû mettre des droits d'écriture sur le répertoire TEMP de
local settings de l'utilisateur ASP.NET sur le serveur, car il y a


création
de fichiers temporaires.

Apparemment, quelquesoit le user qui se connecte à l'application, on ne va
pas créer un profil dans "documents and settings" pour chaque user...donc


il
va taper dans celui de ASP NET

Croyez vous que ce soit la bonne solution niveau configuration (ça


m'embête
quand
même de devoir donner des droits d'accés sur ce répertoire pour tout mon
active directory )

merci en tout cas
Francois

"Paul Bacelar" a écrit :

> Une séries d'articles forts intéressant ma foi.
>
> Merci beaucoup ;-)
> --
> Paul Bacelar
> Demandeur d'emploi
>
>
> "Pascal Mercier" wrote in message
> news:
> > Cela empêche par exemple le connection pooling à une base de données.
> Voici
> > un extrait de l'article "Improving ASP.NET Performance" :
> >
> > Identities. Consider the identities you are using and the way that you
> flow
> > identity through your application. To access downstream resources, you


can
> > use the ASP.NET process identity or another specific service identity.


Or,
> > you can enable impersonation and flow the identity of the original


caller.
> > If you connect to Microsoft SQL ServerT, you can also use SQL
> > authentication. However, SQL authentication requires you to store
> > credentials in the database connection string. Storing credentials in


the
> > database connection string is not recommended from a security


perspective.
> > When you connect to a shared resource, such as a database, by using a
> single
> > identity, you benefit from connection pooling. Connection pooling
> > significantly increases scalability. If you flow the identity of the
> > original caller by using impersonation, you cannot benefit from


efficient
> > connection pooling, and you have to configure access control for


multiple
> > individual user accounts. For these reasons, it is best to use a


single
> > trusted identity to connect to downstream databases.
> >
> > L'article complet sur
> >
>


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt06.asp
> >
> > Cordialement
> > Pascal Mercier - Microsoft France
> >
> >
> > "Paul Bacelar" wrote in message
> > news:
> > > Heu, là je ne vois pas l'implication de la "personnalisation" sur


les
> > > performances.
> > >
> > > Pouvez-vous nous dire sur quel aspect cela joue, merci ?
> > > --
> > > Paul Bacelar
> > > Demandeur d'emploi
> > >
> > >
> > > "Pascal Mercier" wrote in message
> > > news:
> > > > Bonjour,
> > > >
> > > > Je ne sais pas exactement ce que tu veux faire, mais voilà ce qui


se
> > passe
> > > :
> > > >
> > > > <authentication mode="Windows" /> signifie que l'authentification
> pour
> > > > accéder au site se base sur les comptes Windows.
> > > > <identity impersonate="true" /> signifie que ASP.NET va
> "personnaliser"
> > > > (impersonate en anglais) l'utilisateur Windows qui s'est connecté


et
> > donc
> > > > prendre son identité.
> > > >
> > > > Tel que tu l'as configuré, il faut donc que toutes les actions
> réalisées
> > > par
> > > > les pages soient autorisées pour tous les utilisteurs suceptibles


de
> se
> > > > connecter, puisque les pages s'exécutent avec leurs identités.


C'est
> le
> > > cas
> > > > pour l'accès en lecture/écriture dans un fichier de base Access.
> > > > Je te conseillerais d'essayer de ne pas faire d'impersonation et


de
> > > > configurer les permissions NTFS du répertoire qui contient la base
> > Access
> > > > pour permettre au compte ASP.NET de pouvoir lire et écrire dans le
> > > fichier.
> > > > C'est le compte sous lequel les pages s'exécute par défaut sur


Windows
> > XP
> > > > (et peut-être sur Windows 2000 je ne sais plus). Si tu utilises
> Windows
> > > > Server 2003, c'est le compte NETWORK SERVICE qui est utilisé par
> défaut.
> > > > Enfin, l'impersonation n'est pas recommandée pour les


performances.
> > > >
> > > > Un bon lien sur le sujet :
> > > >
> > >
> >
>


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/secnetlpmsdn.asp
> > > > qui explique, notamment, quand utiliser l'impersonation.
> > > >
> > > > Cordialement,
> > > > Pascal Mercier - Microsoft France
> > > >
> > > >
> > > > "fr" <fr @discussions.microsoft.com> wrote in message
> > > > news:
> > > > > Bonjour,
> > > > >
> > > > > j'ai créé un site intranet avec une connection à une base Access


97.
> > > > >
> > > > > 1) voici ma chaine de connection :
> > > > >
> > > > > Dim objConn As New OleDbConnection
> > > > >
> > > > > objConn.ConnectionString "Provider=Microsoft.Jet.OLEDB.4.0;Data
> > > > > Source=""C:Inetpubwwwrootoledbbd1.mdb"""
> > > > >
> > > > > objConn.Open()
> > > > >
> > > > > 2) de plus, j'ai ajouté dans le web.config les parametres


suivants :
> > > > >
> > > > > <authentication mode="Windows" />
> > > > > <identity impersonate="true" />
> > > > >
> > > > > 3) dans IIS, j'ai désactivé l'authentification anonyme et coché
> > > > > l'authentification Windows.
> > > > >
> > > > > 4) Je récupère très bien l'utilisateur windows identifié,


seulement
> > > > > impossible de connecter à ma base de donnée, sauf si


l'utilisateur
> est
> > > > > administrateur du serveur !!
> > > > >
> > > > > Je ne peux pas donner les droits administrateur à tous les users


du
> > > > domaine
> > > > > !!! Comment faire ?? y'a t il un paramétre à ajouter dans ma


chaine
> de
> > > > > connection ? En effet lorsqu'on passe par le gestionnaire de


serveur
> > > dans
> > > > > Visual Studio pour créer la connection, il y a une tonne de
> paramétres
> > > > pour
> > > > > JET OLEDB 4... mais je ne sais pas à quoi ils servent.
> > > > >
> > > > > Merci de votre aide, je galère depuis 3 jours !!!
> > > > >
> > > > > François
> > > >
> > > >
> > >
> > >
> >
> >
>
>
>


Avatar
Pascal Mercier
Bonjour,

1) Il n'est pas nécessaire d'activer l'impersonation pour récupérer le nom
de l'utilisateur qui se connecte. Le fait d'activer simplement
l'authentification Windows suffit (classe WindowsPrincipal et
WindowsIdentity). Mais n'oubliez pas de désactiver le compte anonyme dans
IIS car sinon c'est le compte IUSR_<NomMachine> qui sera utilisé.

2) Sans impersonation, c'est bien entendu toujours sous le compte ASPNET
(Windows XP) ou NETWORK SERVICE (Windows Server 2003) que s'exécute les
pages. A moins de modifier le fichier machine.config pour spécifier un autre
compte.

3) Pour les fichiers temporaires, je n'ai pas tout compris ?

Pascal Mercier
Microsoft France

"fr" wrote in message
news:
Merci, j'ai trouvé une solution
En fait j'utilise le impersonate dans le but de récupérer le nom de
l'utilisateur
en cours, pour ensuite gérer mes droits d'accés (profil admin ou


superviseur)

par contre, j'ai dû mettre des droits d'écriture sur le répertoire TEMP de
local settings de l'utilisateur ASP.NET sur le serveur, car il y a


création
de fichiers temporaires.

Apparemment, quelquesoit le user qui se connecte à l'application, on ne va
pas créer un profil dans "documents and settings" pour chaque user...donc


il
va taper dans celui de ASP NET

Croyez vous que ce soit la bonne solution niveau configuration (ça


m'embête
quand
même de devoir donner des droits d'accés sur ce répertoire pour tout mon
active directory )

merci en tout cas
Francois

"Paul Bacelar" a écrit :

> Une séries d'articles forts intéressant ma foi.
>
> Merci beaucoup ;-)
> --
> Paul Bacelar
> Demandeur d'emploi
>
>
> "Pascal Mercier" wrote in message
> news:
> > Cela empêche par exemple le connection pooling à une base de données.
> Voici
> > un extrait de l'article "Improving ASP.NET Performance" :
> >
> > Identities. Consider the identities you are using and the way that you
> flow
> > identity through your application. To access downstream resources, you


can
> > use the ASP.NET process identity or another specific service identity.


Or,
> > you can enable impersonation and flow the identity of the original


caller.
> > If you connect to Microsoft SQL ServerT, you can also use SQL
> > authentication. However, SQL authentication requires you to store
> > credentials in the database connection string. Storing credentials in


the
> > database connection string is not recommended from a security


perspective.
> > When you connect to a shared resource, such as a database, by using a
> single
> > identity, you benefit from connection pooling. Connection pooling
> > significantly increases scalability. If you flow the identity of the
> > original caller by using impersonation, you cannot benefit from


efficient
> > connection pooling, and you have to configure access control for


multiple
> > individual user accounts. For these reasons, it is best to use a


single
> > trusted identity to connect to downstream databases.
> >
> > L'article complet sur
> >
>


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt06.asp
> >
> > Cordialement
> > Pascal Mercier - Microsoft France
> >
> >
> > "Paul Bacelar" wrote in message
> > news:
> > > Heu, là je ne vois pas l'implication de la "personnalisation" sur


les
> > > performances.
> > >
> > > Pouvez-vous nous dire sur quel aspect cela joue, merci ?
> > > --
> > > Paul Bacelar
> > > Demandeur d'emploi
> > >
> > >
> > > "Pascal Mercier" wrote in message
> > > news:
> > > > Bonjour,
> > > >
> > > > Je ne sais pas exactement ce que tu veux faire, mais voilà ce qui


se
> > passe
> > > :
> > > >
> > > > <authentication mode="Windows" /> signifie que l'authentification
> pour
> > > > accéder au site se base sur les comptes Windows.
> > > > <identity impersonate="true" /> signifie que ASP.NET va
> "personnaliser"
> > > > (impersonate en anglais) l'utilisateur Windows qui s'est connecté


et
> > donc
> > > > prendre son identité.
> > > >
> > > > Tel que tu l'as configuré, il faut donc que toutes les actions
> réalisées
> > > par
> > > > les pages soient autorisées pour tous les utilisteurs suceptibles


de
> se
> > > > connecter, puisque les pages s'exécutent avec leurs identités.


C'est
> le
> > > cas
> > > > pour l'accès en lecture/écriture dans un fichier de base Access.
> > > > Je te conseillerais d'essayer de ne pas faire d'impersonation et


de
> > > > configurer les permissions NTFS du répertoire qui contient la base
> > Access
> > > > pour permettre au compte ASP.NET de pouvoir lire et écrire dans le
> > > fichier.
> > > > C'est le compte sous lequel les pages s'exécute par défaut sur


Windows
> > XP
> > > > (et peut-être sur Windows 2000 je ne sais plus). Si tu utilises
> Windows
> > > > Server 2003, c'est le compte NETWORK SERVICE qui est utilisé par
> défaut.
> > > > Enfin, l'impersonation n'est pas recommandée pour les


performances.
> > > >
> > > > Un bon lien sur le sujet :
> > > >
> > >
> >
>


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/secnetlpmsdn.asp
> > > > qui explique, notamment, quand utiliser l'impersonation.
> > > >
> > > > Cordialement,
> > > > Pascal Mercier - Microsoft France
> > > >
> > > >
> > > > "fr" <fr @discussions.microsoft.com> wrote in message
> > > > news:
> > > > > Bonjour,
> > > > >
> > > > > j'ai créé un site intranet avec une connection à une base Access


97.
> > > > >
> > > > > 1) voici ma chaine de connection :
> > > > >
> > > > > Dim objConn As New OleDbConnection
> > > > >
> > > > > objConn.ConnectionString "Provider=Microsoft.Jet.OLEDB.4.0;Data
> > > > > Source=""C:Inetpubwwwrootoledbbd1.mdb"""
> > > > >
> > > > > objConn.Open()
> > > > >
> > > > > 2) de plus, j'ai ajouté dans le web.config les parametres


suivants :
> > > > >
> > > > > <authentication mode="Windows" />
> > > > > <identity impersonate="true" />
> > > > >
> > > > > 3) dans IIS, j'ai désactivé l'authentification anonyme et coché
> > > > > l'authentification Windows.
> > > > >
> > > > > 4) Je récupère très bien l'utilisateur windows identifié,


seulement
> > > > > impossible de connecter à ma base de donnée, sauf si


l'utilisateur
> est
> > > > > administrateur du serveur !!
> > > > >
> > > > > Je ne peux pas donner les droits administrateur à tous les users


du
> > > > domaine
> > > > > !!! Comment faire ?? y'a t il un paramétre à ajouter dans ma


chaine
> de
> > > > > connection ? En effet lorsqu'on passe par le gestionnaire de


serveur
> > > dans
> > > > > Visual Studio pour créer la connection, il y a une tonne de
> paramétres
> > > > pour
> > > > > JET OLEDB 4... mais je ne sais pas à quoi ils servent.
> > > > >
> > > > > Merci de votre aide, je galère depuis 3 jours !!!
> > > > >
> > > > > François
> > > >
> > > >
> > >
> > >
> >
> >
>
>
>