Comment marche une session cookieless ?

p4t0z3u Messages postés 7 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 3 février 2003 - 24 janv. 2003 à 13:59
ptipapanoel Messages postés 12 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 16 octobre 2006 - 28 janv. 2003 à 08:32
Bonjour,

Pour des besoins techniques (une machine en accès "public"), je ne peux pas faire des sessions avec cookie.
Je configure donc ma section sessionstate, cookieless = "true".

Apparait donc dans mes URL la valeur de session attribué automatiquement pas IIS.

Problème: je souhaite autentifier des personnes grâce à un mot de passe déjà présent dans une BDD Access 2000.
Quand la close cookieless est à "False", je n'ai pas de problèmes pour identifier ma personne.
Mais toujours est-il que je veux forcer le passage des personnes arrivant sur mon site et leur bloquer l'accès à certaines pages selon leur catégorie d'utilisateur.
Mais quand les personnes s'identifient, au lieu d'être redirigées (CF Code plus bas), elle restent bloquées sur le "login.aspx"

J'ai donc pensé faire ceci:
Créer un répertoire avec les pages correspondant pour chaque classe d'utilisateur.

Mes questions:
-Mais où placer ces contraintes dans mon site ? Global.asax ? Web.config ?
-Ma méthode d'identification est-elle naze ?
-Comment garder les infos concernant mes users par session (j'utilise actuellement les méthodes Session("MaVariable") ?

Voici le code que j'utilise pour identifier mes nouveaux arrivants (AVEC le web.config par défaut, cad cookieless = "false")

Sub idx_validation_Click(sender As Object, e As EventArgs)

Dim Connexion As New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Request.MapPath("\edm.mdb"))Dim Requete as new OleDbCommand("Select * FROM Eleve where E_Login '" & Request.form("idx_login") & "' and E_Pwd '" & Request.form("idx_pwd") & "'", Connexion)Dim Requete_2 as new OleDbCommand("Select * FROM Professeur where P_Login '" & Request.form("idx_login") & "' and P_Pwd '" & Request.form("idx_pwd") & "'", Connexion)
Dim Curseur as OleDBDataReader
Dim Curseur_2 as OleDBDataReader

Connexion.Open()

Curseur = Requete.ExecuteReader()

If Curseur.Read() = False Then

Curseur.Close
Curseur_2 = Requete_2.ExecuteReader()

If Curseur_2.Read() = False Then

Curseur_2.Close
Response.Redirect("notindaplace.htm")

Else

Dim Nom as String
Dim Prenom as String

Nom = Curseur_2("P_Nom").ToString
Prenom = Curseur_2("P_Prenom").ToString

Session("Nom") = Nom
Session("Prenom") = Prenom
Response.Redirect("index_prof.aspx")
Curseur_2.Close

End if

Else

Response.Redirect("index_eleve.aspx")
Curseur.Close

End if

Connexion.Close

End Sub

Je n'ai que WebMatrix comme outil avec tout le framework complet, bien sûr :p
Merci beaucoup pour tout réponse constructive :kisses)

"J'aime me repaître de ceux qui voudraient me soumettre"

1 réponse

ptipapanoel Messages postés 12 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 16 octobre 2006
28 janv. 2003 à 08:32
comme je l'ai déjà dit avant, regarde la solution

web.config :
----------------------------------
     
<forms name=".ASPXCOOKIELOGIN" loginUrl="login.aspx" />
    


et puis :

login.aspx :
-------------
'tester les infos de login
if ok then 
     ...
     FormsAuthentication.RedirectFromLoginPage(userid, False)
     ...
end if

en cas de succès pour valider ton utilisateur

voili voilu.
PPN
0
Rejoignez-nous