OVH Cloud OVH Cloud

Connaître userid dans n'importe quelle page ASP NET 2.0

8 réponses
Avatar
Clark
Bonjour

Dans un site avec authentification par formulaire, tout l'accès est
restreint aux seuls utilisateurs authentifiés. J'ai donc créé une page
login.aspx avec le contrôle Login. Tout fonctionne très bien.
Je voudrais dans certaines pages connaître le userid de l'utilisateur
courant. Comment puis-je faire ça simplement?

Merci

--
Clark

8 réponses

Avatar
Patrice
Essaie User.Identity.Name...

--
Patrice

"Clark" a écrit dans le message de news:

Bonjour

Dans un site avec authentification par formulaire, tout l'accès est
restreint aux seuls utilisateurs authentifiés. J'ai donc créé une page
login.aspx avec le contrôle Login. Tout fonctionne très bien.
Je voudrais dans certaines pages connaître le userid de l'utilisateur
courant. Comment puis-je faire ça simplement?

Merci

--
Clark




Avatar
Clark
Bonjour et merci
Effectivement j'ai trouvé ça après avoir posé la question, mais ça
m'oblige à faire un select pour récupérer l'id. Je pensais qu'on
pouvait l'obtenir avec qque chose dans le même genre.
+
Patrice vient de nous annoncer :
Essaie User.Identity.Name...



--
Clark
Avatar
Patrice
Je ne vois pas ce que tu veux dire. Comment cela un "select" ? C'est une
propriété de chaque requête accessible directement à partir de la page.

--
Patrice

"Clark" a écrit dans le message de news:

Bonjour et merci
Effectivement j'ai trouvé ça après avoir posé la question, mais ça
m'oblige à faire un select pour récupérer l'id. Je pensais qu'on pouvait
l'obtenir avec qque chose dans le même genre.
+
Patrice vient de nous annoncer :
Essaie User.Identity.Name...



--
Clark




Avatar
Patrice
Au cas où tu veux dire la clé primaire de l'utilisateur dans ta base de
données, tu peux par exemple la "cacher" dans une variable de session.
L'autre solution étant d"utiliser directement le "login" selon ce que tu
veux faire...

--
Patrice

"Patrice" a écrit dans le message de news:

Je ne vois pas ce que tu veux dire. Comment cela un "select" ? C'est une
propriété de chaque requête accessible directement à partir de la page.

--
Patrice

"Clark" a écrit dans le message de news:

Bonjour et merci
Effectivement j'ai trouvé ça après avoir posé la question, mais ça
m'oblige à faire un select pour récupérer l'id. Je pensais qu'on pouvait
l'obtenir avec qque chose dans le même genre.
+
Patrice vient de nous annoncer :
Essaie User.Identity.Name...



--
Clark








Avatar
Clark
Bon je m'étais mal exprimé à priori donc je reprends.
Je veux effectivement récupérer la clé primaire du user et la conserver
pdt toute la navigation sur le site. Je pensais qu'il existait qque
chose dans le style de User.Identity.Name pour faire ça.
Donc là en l'occurence, je fais une requête select sur la table
aspnet_user pour récupérer cette clé, ce que je voudrai éviter.
Merci
Patrice a couché sur son écran :
Au cas où tu veux dire la clé primaire de l'utilisateur dans ta base de
données, tu peux par exemple la "cacher" dans une variable de session.
L'autre solution étant d"utiliser directement le "login" selon ce que tu veux
faire...

--
Patrice

"Patrice" a écrit dans le message de news:

Je ne vois pas ce que tu veux dire. Comment cela un "select" ? C'est une
propriété de chaque requête accessible directement à partir de la page.

-- Patrice

"Clark" a écrit dans le message de news:

Bonjour et merci
Effectivement j'ai trouvé ça après avoir posé la question, mais ça
m'oblige à faire un select pour récupérer l'id. Je pensais qu'on pouvait
l'obtenir avec qque chose dans le même genre.
+
Patrice vient de nous annoncer :
Essaie User.Identity.Name...



-- Clark











--
Clark
Avatar
Dominique Peralta
Pour ma part, j'ai toujours utilisé les variables Session pour cela.
Au login, je requête la base de donnée, et je stocke l'ID (PK) dans
Session("ID"). Ensuite, dans les pages, je requête si besoin à partir de cet
ID.
Mais je ne suis pas un expert :-(, alors peut-être il y a-t-il mieux ?

"Patrice" a écrit dans le message de
news:
Au cas où tu veux dire la clé primaire de l'utilisateur dans ta base de
données, tu peux par exemple la "cacher" dans une variable de session.
L'autre solution étant d"utiliser directement le "login" selon ce que tu
veux faire...

--
Patrice

"Patrice" a écrit dans le message de news:

> Je ne vois pas ce que tu veux dire. Comment cela un "select" ? C'est une
> propriété de chaque requête accessible directement à partir de la page.
>
> --
> Patrice
>
> "Clark" a écrit dans le message de news:
>
>> Bonjour et merci
>> Effectivement j'ai trouvé ça après avoir posé la question, mais ça
>> m'oblige à faire un select pour récupérer l'id. Je pensais qu'on


pouvait
>> l'obtenir avec qque chose dans le même genre.
>> +
>> Patrice vient de nous annoncer :
>>> Essaie User.Identity.Name...
>>
>> --
>> Clark
>>
>>
>
>




Avatar
Patrice
Ok je n'avais pas compris que tu utilisais le système de "profile" de la v2.
Apparemment cela a l'air d'être une info privée que ce système n'expose pas
(vérifie tout de même du côté de System.Web.Profile).

Si c'est bien le cas, je vois trois solutions :
- comme tu le fais récupérer la valeur (et la cacher en session par exemple
pour éviter de la récupérer à chaque fois)
- voir si elle ne peut pas être ajoutée en tant que propriété dans le
profile, tu peux alors la récupérer de façon standard via le Profile
- respecter le principe actuel du système de Profile (on ne voit que de
l'extérieur que le UserName, ce sont les procédures stockées du profile qui
se chargent de récupérer le UserID correspondant) pour tes propres besoins

--
Patrice

"Clark" a écrit dans le message de news:

Bon je m'étais mal exprimé à priori donc je reprends.
Je veux effectivement récupérer la clé primaire du user et la conserver
pdt toute la navigation sur le site. Je pensais qu'il existait qque chose
dans le style de User.Identity.Name pour faire ça.
Donc là en l'occurence, je fais une requête select sur la table
aspnet_user pour récupérer cette clé, ce que je voudrai éviter.
Merci
Patrice a couché sur son écran :
Au cas où tu veux dire la clé primaire de l'utilisateur dans ta base de
données, tu peux par exemple la "cacher" dans une variable de session.
L'autre solution étant d"utiliser directement le "login" selon ce que tu
veux faire...

--
Patrice

"Patrice" a écrit dans le message de news:

Je ne vois pas ce que tu veux dire. Comment cela un "select" ? C'est une
propriété de chaque requête accessible directement à partir de la page.

-- Patrice

"Clark" a écrit dans le message de news:

Bonjour et merci
Effectivement j'ai trouvé ça après avoir posé la question, mais ça
m'oblige à faire un select pour récupérer l'id. Je pensais qu'on
pouvait l'obtenir avec qque chose dans le même genre.
+
Patrice vient de nous annoncer :
Essaie User.Identity.Name...



-- Clark











--
Clark




Avatar
Clark
Hum, non je n'utilise pas le profile de la V2 car il ne s'adapte pas à
ce que je veux faire. Je récupère donc la valeur et la stocke dans une
variable Session.
Merci beaucoup à tous.

Il se trouve que Patrice a formulé :
Ok je n'avais pas compris que tu utilisais le système de "profile" de la v2.
Apparemment cela a l'air d'être une info privée que ce système n'expose pas
(vérifie tout de même du côté de System.Web.Profile).

Si c'est bien le cas, je vois trois solutions :
- comme tu le fais récupérer la valeur (et la cacher en session par exemple
pour éviter de la récupérer à chaque fois)
- voir si elle ne peut pas être ajoutée en tant que propriété dans le
profile, tu peux alors la récupérer de façon standard via le Profile
- respecter le principe actuel du système de Profile (on ne voit que de
l'extérieur que le UserName, ce sont les procédures stockées du profile qui
se chargent de récupérer le UserID correspondant) pour tes propres besoins

--
Patrice

"Clark" a écrit dans le message de news:

Bon je m'étais mal exprimé à priori donc je reprends.
Je veux effectivement récupérer la clé primaire du user et la conserver pdt
toute la navigation sur le site. Je pensais qu'il existait qque chose dans
le style de User.Identity.Name pour faire ça.
Donc là en l'occurence, je fais une requête select sur la table aspnet_user
pour récupérer cette clé, ce que je voudrai éviter.
Merci
Patrice a couché sur son écran :
Au cas où tu veux dire la clé primaire de l'utilisateur dans ta base de
données, tu peux par exemple la "cacher" dans une variable de session.
L'autre solution étant d"utiliser directement le "login" selon ce que tu
veux faire...

--
Patrice

"Patrice" a écrit dans le message de news:

Je ne vois pas ce que tu veux dire. Comment cela un "select" ? C'est une
propriété de chaque requête accessible directement à partir de la page.

-- Patrice

"Clark" a écrit dans le message de news:

Bonjour et merci
Effectivement j'ai trouvé ça après avoir posé la question, mais ça
m'oblige à faire un select pour récupérer l'id. Je pensais qu'on pouvait
l'obtenir avec qque chose dans le même genre.
+
Patrice vient de nous annoncer :
Essaie User.Identity.Name...



-- Clark











-- Clark







--
Clark