OVH Cloud OVH Cloud

[ASP.Net 1.1] Passer d'une page anonyme à une page sécurisée.

6 réponses
Avatar
YJLAMOTTE
Question ASP.Net 1.1, IIS 5 et VS 2003

J'ai un site en authentification Intégrée partout sauf une page anonyme de
connexion

Les utilisateurs internes se connecte sur la page d'accueil et sont reconnus
automatiquement par IIS.

Les utilisateurs externes arrivent sur la page de connexion (IIS anonyme) et
s'authentifie via login/pwd dans une BDD. Si l'authentification est OK je
leur permet d'accéder à la partie sécurisé.

Je peux utiliser l'impersonation pour changer le contexte sur la page
anonyme mais comment le transmettre lors du redirect.

Comment simuler un compte du domaine pour naviguer dans le reste du site
(Aut Intégrée Windows) sans impacter le fonctionnement pour les utilisateurs
internes ?

Merci d'avance.

6 réponses

Avatar
Christophe Gricourt
Un utilisateur qui se connecte au site sans utiliser un compte domaine sera
considéré comme anonyme par IIS
Je ne pense pas qu'il soit possible d'utiliser l'impersonation pour un compte
anonyme.
Cependant, il est possible d'utiliser l'API windows (de mémoire, LogonUser....)
pour attribuer au thread initié par l'utilisateur anonyme une identité du
domaine (autre que celle du process asp)

D'autre part, la gestion des authorizations au niveau de asp.net (fichier
web.config) permet de n'autoriser l'accès à certaines pages qu'aux utilisateurs
authentifiés (quelque soit le mode d'authentification) - voir URL Authorization

Si le but est de faire une gestion plus fine de l'identité de l'utilisateur
(pour par exemple lui associer un certain nombre de roles qui lui donneront
certaines permissions), ce même principe d'URL authorization peut être appliqué
conjointement avec l'utilisation de la classe GenericPrincipal pour gérer
les rôles customisés.


hth
- CHristophe


Hello YJLAMOTTE,

Question ASP.Net 1.1, IIS 5 et VS 2003

J'ai un site en authentification Intégrée partout sauf une page
anonyme de connexion

Les utilisateurs internes se connecte sur la page d'accueil et sont
reconnus automatiquement par IIS.

Les utilisateurs externes arrivent sur la page de connexion (IIS
anonyme) et s'authentifie via login/pwd dans une BDD. Si
l'authentification est OK je leur permet d'accéder à la partie
sécurisé.

Je peux utiliser l'impersonation pour changer le contexte sur la page
anonyme mais comment le transmettre lors du redirect.

Comment simuler un compte du domaine pour naviguer dans le reste du
site (Aut Intégrée Windows) sans impacter le fonctionnement pour les
utilisateurs internes ?

Merci d'avance.



Avatar
YJLAMOTTE
hth -> non :) mais bien essayé.

En fait je me suis mal exprimé. J'utilise effectivement le bon vieux
LogonUser.. qui marche bien d'ailleurs..

mon problème:

L'idée est de permettre à un utilisateur Internet de se connecter via un
formulaire (auth anonyme) puis le rediriger vers des pages (auth Integrée)
sans le prompter ni a avoir a lui créer un compte NT (juste un compte
applicatif). Après dans mon appli j'utiliserai des variables perso plutôt que
le classique user.identity.name.


"Christophe Gricourt" a écrit :

Un utilisateur qui se connecte au site sans utiliser un compte domaine sera
considéré comme anonyme par IIS
Je ne pense pas qu'il soit possible d'utiliser l'impersonation pour un compte
anonyme.
Cependant, il est possible d'utiliser l'API windows (de mémoire, LogonUser....)
pour attribuer au thread initié par l'utilisateur anonyme une identité du
domaine (autre que celle du process asp)

D'autre part, la gestion des authorizations au niveau de asp.net (fichier
web.config) permet de n'autoriser l'accès à certaines pages qu'aux utilisateurs
authentifiés (quelque soit le mode d'authentification) - voir URL Authorization

Si le but est de faire une gestion plus fine de l'identité de l'utilisateur
(pour par exemple lui associer un certain nombre de roles qui lui donneront
certaines permissions), ce même principe d'URL authorization peut être appliqué
conjointement avec l'utilisation de la classe GenericPrincipal pour gérer
les rôles customisés.


hth
- CHristophe


Hello YJLAMOTTE,

> Question ASP.Net 1.1, IIS 5 et VS 2003
>
> J'ai un site en authentification Intégrée partout sauf une page
> anonyme de connexion
>
> Les utilisateurs internes se connecte sur la page d'accueil et sont
> reconnus automatiquement par IIS.
>
> Les utilisateurs externes arrivent sur la page de connexion (IIS
> anonyme) et s'authentifie via login/pwd dans une BDD. Si
> l'authentification est OK je leur permet d'accéder à la partie
> sécurisé.
>
> Je peux utiliser l'impersonation pour changer le contexte sur la page
> anonyme mais comment le transmettre lors du redirect.
>
> Comment simuler un compte du domaine pour naviguer dans le reste du
> site (Aut Intégrée Windows) sans impacter le fonctionnement pour les
> utilisateurs internes ?
>
> Merci d'avance.
>





Avatar
YJLAMOTTE
hth -> non :) mais bien essayé.

En fait je me suis mal exprimé. J'utilise effectivement le bon vieux
LogonUser.. qui marche bien d'ailleurs..

mon problème:

L'idée est de permettre à un utilisateur Internet de se connecter via un
formulaire (auth anonyme) puis le rediriger vers des pages (auth Integrée)
sans le prompter ni a avoir a lui créer un compte NT (juste un compte
applicatif). Après dans mon appli j'utiliserai des variables perso plutôt que
le classique user.identity.name.


"Christophe Gricourt" a écrit :

Un utilisateur qui se connecte au site sans utiliser un compte domaine sera
considéré comme anonyme par IIS
Je ne pense pas qu'il soit possible d'utiliser l'impersonation pour un compte
anonyme.
Cependant, il est possible d'utiliser l'API windows (de mémoire, LogonUser....)
pour attribuer au thread initié par l'utilisateur anonyme une identité du
domaine (autre que celle du process asp)

D'autre part, la gestion des authorizations au niveau de asp.net (fichier
web.config) permet de n'autoriser l'accès à certaines pages qu'aux utilisateurs
authentifiés (quelque soit le mode d'authentification) - voir URL Authorization

Si le but est de faire une gestion plus fine de l'identité de l'utilisateur
(pour par exemple lui associer un certain nombre de roles qui lui donneront
certaines permissions), ce même principe d'URL authorization peut être appliqué
conjointement avec l'utilisation de la classe GenericPrincipal pour gérer
les rôles customisés.


hth
- CHristophe


Hello YJLAMOTTE,

> Question ASP.Net 1.1, IIS 5 et VS 2003
>
> J'ai un site en authentification Intégrée partout sauf une page
> anonyme de connexion
>
> Les utilisateurs internes se connecte sur la page d'accueil et sont
> reconnus automatiquement par IIS.
>
> Les utilisateurs externes arrivent sur la page de connexion (IIS
> anonyme) et s'authentifie via login/pwd dans une BDD. Si
> l'authentification est OK je leur permet d'accéder à la partie
> sécurisé.
>
> Je peux utiliser l'impersonation pour changer le contexte sur la page
> anonyme mais comment le transmettre lors du redirect.
>
> Comment simuler un compte du domaine pour naviguer dans le reste du
> site (Aut Intégrée Windows) sans impacter le fonctionnement pour les
> utilisateurs internes ?
>
> Merci d'avance.
>





Avatar
YJLAMOTTE
Faut que je teste, mais le compilo me dis rien contre !

Merci !!!



"Christophe Gricourt" a écrit :


Le jeton de sécurité obtenu avec LogonUser permet de créer un objet WindowsIdentity
dont on peut déduire un objet WindowsPrincipal que l'on peut assigner à HttpContext.Current.User



Hello YJLAMOTTE,

> hth -> non :) mais bien essayé.
>
> En fait je me suis mal exprimé. J'utilise effectivement le bon vieux
> LogonUser.. qui marche bien d'ailleurs..
>
> mon problème:
>
> L'idée est de permettre à un utilisateur Internet de se connecter via
> un formulaire (auth anonyme) puis le rediriger vers des pages (auth
> Integrée) sans le prompter ni a avoir a lui créer un compte NT (juste
> un compte applicatif). Après dans mon appli j'utiliserai des variables
> perso plutôt que le classique user.identity.name.
>
> "Christophe Gricourt" a écrit :
>
>> Un utilisateur qui se connecte au site sans utiliser un compte
>> domaine sera
>> considéré comme anonyme par IIS
>> Je ne pense pas qu'il soit possible d'utiliser l'impersonation pour
>> un compte
>> anonyme.
>> Cependant, il est possible d'utiliser l'API windows (de mémoire,
>> LogonUser....)
>> pour attribuer au thread initié par l'utilisateur anonyme une
>> identité du
>> domaine (autre que celle du process asp)
>> D'autre part, la gestion des authorizations au niveau de asp.net
>> (fichier web.config) permet de n'autoriser l'accès à certaines pages
>> qu'aux utilisateurs authentifiés (quelque soit le mode
>> d'authentification) - voir URL Authorization
>>
>> Si le but est de faire une gestion plus fine de l'identité de
>> l'utilisateur (pour par exemple lui associer un certain nombre de
>> roles qui lui donneront certaines permissions), ce même principe
>> d'URL authorization peut être appliqué conjointement avec
>> l'utilisation de la classe GenericPrincipal pour gérer les rôles
>> customisés.
>>
>> hth
>> - CHristophe
>> Hello YJLAMOTTE,
>>
>>> Question ASP.Net 1.1, IIS 5 et VS 2003
>>>
>>> J'ai un site en authentification Intégrée partout sauf une page
>>> anonyme de connexion
>>>
>>> Les utilisateurs internes se connecte sur la page d'accueil et sont
>>> reconnus automatiquement par IIS.
>>>
>>> Les utilisateurs externes arrivent sur la page de connexion (IIS
>>> anonyme) et s'authentifie via login/pwd dans une BDD. Si
>>> l'authentification est OK je leur permet d'accéder à la partie
>>> sécurisé.
>>>
>>> Je peux utiliser l'impersonation pour changer le contexte sur la
>>> page anonyme mais comment le transmettre lors du redirect.
>>>
>>> Comment simuler un compte du domaine pour naviguer dans le reste du
>>> site (Aut Intégrée Windows) sans impacter le fonctionnement pour les
>>> utilisateurs internes ?
>>>
>>> Merci d'avance.
>>>





Avatar
YJLAMOTTE
Faut que je teste, mais le compilo me dis rien contre !

Merci !!!



"Christophe Gricourt" a écrit :


Le jeton de sécurité obtenu avec LogonUser permet de créer un objet WindowsIdentity
dont on peut déduire un objet WindowsPrincipal que l'on peut assigner à HttpContext.Current.User



Hello YJLAMOTTE,

> hth -> non :) mais bien essayé.
>
> En fait je me suis mal exprimé. J'utilise effectivement le bon vieux
> LogonUser.. qui marche bien d'ailleurs..
>
> mon problème:
>
> L'idée est de permettre à un utilisateur Internet de se connecter via
> un formulaire (auth anonyme) puis le rediriger vers des pages (auth
> Integrée) sans le prompter ni a avoir a lui créer un compte NT (juste
> un compte applicatif). Après dans mon appli j'utiliserai des variables
> perso plutôt que le classique user.identity.name.
>
> "Christophe Gricourt" a écrit :
>
>> Un utilisateur qui se connecte au site sans utiliser un compte
>> domaine sera
>> considéré comme anonyme par IIS
>> Je ne pense pas qu'il soit possible d'utiliser l'impersonation pour
>> un compte
>> anonyme.
>> Cependant, il est possible d'utiliser l'API windows (de mémoire,
>> LogonUser....)
>> pour attribuer au thread initié par l'utilisateur anonyme une
>> identité du
>> domaine (autre que celle du process asp)
>> D'autre part, la gestion des authorizations au niveau de asp.net
>> (fichier web.config) permet de n'autoriser l'accès à certaines pages
>> qu'aux utilisateurs authentifiés (quelque soit le mode
>> d'authentification) - voir URL Authorization
>>
>> Si le but est de faire une gestion plus fine de l'identité de
>> l'utilisateur (pour par exemple lui associer un certain nombre de
>> roles qui lui donneront certaines permissions), ce même principe
>> d'URL authorization peut être appliqué conjointement avec
>> l'utilisation de la classe GenericPrincipal pour gérer les rôles
>> customisés.
>>
>> hth
>> - CHristophe
>> Hello YJLAMOTTE,
>>
>>> Question ASP.Net 1.1, IIS 5 et VS 2003
>>>
>>> J'ai un site en authentification Intégrée partout sauf une page
>>> anonyme de connexion
>>>
>>> Les utilisateurs internes se connecte sur la page d'accueil et sont
>>> reconnus automatiquement par IIS.
>>>
>>> Les utilisateurs externes arrivent sur la page de connexion (IIS
>>> anonyme) et s'authentifie via login/pwd dans une BDD. Si
>>> l'authentification est OK je leur permet d'accéder à la partie
>>> sécurisé.
>>>
>>> Je peux utiliser l'impersonation pour changer le contexte sur la
>>> page anonyme mais comment le transmettre lors du redirect.
>>>
>>> Comment simuler un compte du domaine pour naviguer dans le reste du
>>> site (Aut Intégrée Windows) sans impacter le fonctionnement pour les
>>> utilisateurs internes ?
>>>
>>> Merci d'avance.
>>>





Avatar
YJLAMOTTE
Ca marche mais sur la page suivante (sécurisée) il prend mon login NT et pas
celui que j'ai fixé dans la page précédente (anonyme). Il faudrait que je
teste depuis l'extérieur pour savoir si je suis prompté sur la seconde page.

"Christophe Gricourt" a écrit :


Le jeton de sécurité obtenu avec LogonUser permet de créer un objet WindowsIdentity
dont on peut déduire un objet WindowsPrincipal que l'on peut assigner à HttpContext.Current.User



Hello YJLAMOTTE,

> hth -> non :) mais bien essayé.
>
> En fait je me suis mal exprimé. J'utilise effectivement le bon vieux
> LogonUser.. qui marche bien d'ailleurs..
>
> mon problème:
>
> L'idée est de permettre à un utilisateur Internet de se connecter via
> un formulaire (auth anonyme) puis le rediriger vers des pages (auth
> Integrée) sans le prompter ni a avoir a lui créer un compte NT (juste
> un compte applicatif). Après dans mon appli j'utiliserai des variables
> perso plutôt que le classique user.identity.name.
>
> "Christophe Gricourt" a écrit :
>
>> Un utilisateur qui se connecte au site sans utiliser un compte
>> domaine sera
>> considéré comme anonyme par IIS
>> Je ne pense pas qu'il soit possible d'utiliser l'impersonation pour
>> un compte
>> anonyme.
>> Cependant, il est possible d'utiliser l'API windows (de mémoire,
>> LogonUser....)
>> pour attribuer au thread initié par l'utilisateur anonyme une
>> identité du
>> domaine (autre que celle du process asp)
>> D'autre part, la gestion des authorizations au niveau de asp.net
>> (fichier web.config) permet de n'autoriser l'accès à certaines pages
>> qu'aux utilisateurs authentifiés (quelque soit le mode
>> d'authentification) - voir URL Authorization
>>
>> Si le but est de faire une gestion plus fine de l'identité de
>> l'utilisateur (pour par exemple lui associer un certain nombre de
>> roles qui lui donneront certaines permissions), ce même principe
>> d'URL authorization peut être appliqué conjointement avec
>> l'utilisation de la classe GenericPrincipal pour gérer les rôles
>> customisés.
>>
>> hth
>> - CHristophe
>> Hello YJLAMOTTE,
>>
>>> Question ASP.Net 1.1, IIS 5 et VS 2003
>>>
>>> J'ai un site en authentification Intégrée partout sauf une page
>>> anonyme de connexion
>>>
>>> Les utilisateurs internes se connecte sur la page d'accueil et sont
>>> reconnus automatiquement par IIS.
>>>
>>> Les utilisateurs externes arrivent sur la page de connexion (IIS
>>> anonyme) et s'authentifie via login/pwd dans une BDD. Si
>>> l'authentification est OK je leur permet d'accéder à la partie
>>> sécurisé.
>>>
>>> Je peux utiliser l'impersonation pour changer le contexte sur la
>>> page anonyme mais comment le transmettre lors du redirect.
>>>
>>> Comment simuler un compte du domaine pour naviguer dans le reste du
>>> site (Aut Intégrée Windows) sans impacter le fonctionnement pour les
>>> utilisateurs internes ?
>>>
>>> Merci d'avance.
>>>