Authentification (login et password) pour espace verouille

cs_mezzanine Messages postés 2 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 16 juin 2004 - 8 juin 2004 à 11:57
bikhbikh Messages postés 1 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 15 mai 2008 - 15 mai 2008 à 16:01
Bonjour,
Je me présente Mezzanine, apprenti developpeurs (débutant).
Je vous expose mon problème :
Je souhaite par l'intermédiaire d'un formulaire (login et password) accéder à une partie de mon site qui sera donc vérouillé.
Trois types de visiteurs : revendeurs, groupements, distributeurs
chacun de ces visiteurs possèderont des login et password différents pour pouvoir accéder à leurs espaces.
les logins et password seront entreposés dans une table intitulée : exo_pass (BD Access).
ma page connexion (conn_nemoi.asp) :
<%
' FileName= "Connection_odbc_conn_dsn.htm"
' Type="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
MM_conn_nemoi_STRING = "dsn=src_nemoi;"
%>
ma connexion est avec DSN, présence d'un serveur web personnel et donc d'un alias (anemoi)

Ma page admin, qui est donc le formulaire
(page admin.asp) :

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../Connections/conn_nemoi.asp" -->
<%
Dim rs_conn__MMColParam
rs_conn__MMColParam = "1"
if (Request.QueryString("login") <> "") then rs_conn__MMColParam = Request.QueryString("login")
%>
<%
set rs_conn = Server.CreateObject("ADODB.Recordset")
rs_conn.ActiveConnection = MM_conn_nemoi_STRINGrs_conn.Source "SELECT * FROM exo_pass WHERE login '" + Replace(rs_conn__MMColParam, "'", "''") + "'"
rs_conn.CursorType = 0
rs_conn.CursorLocation = 2
rs_conn.LockType = 3
rs_conn.Open()
rs_conn_numRows = 0
%>
<%
' Si le lien contient ?pass=no
' on vide le cookie
if request("pass")="no" then
response.cookies("passe6")=""
' Sinon si le visiteur a validé le formulaire
elseif request("pass")<>"" then
' on compare avec la liste
rs_conn.Open "SELECT * FROM exo_pass",Conn , 3, 3
do while not rs_conn.eof
' si le login et le pass sont OK
if request("login")=rs_conn("login") _
and request("pass")=rs_conn("pass") then
' on stocke le niveau dans un cookie
response.cookies("passe6")=rs_conn("nivo")
exit do
end if
rs_conn.moveNext
loop
rs_conn.close
end if
%>
<!-- #include file="_protect.asp"-->
<%
' Lien si identifié
if protect<"4" then%>
[?pass=no Déconnecter]

<% ' Liste des login/pass si niveau 1 ou 2
if protect<"3" then%>

Liste des mots de passe |

----

LOGIN,
PASSWORD,
,

<% SQL = \"SELECT * FROM exo_pass\" _
& \" WHERE nivo > \" & protect _
& \" ORDER BY nivo,login\"
rs_conn.Open SQL,Conn , 3, 3
while not rs_conn.eof%>
----

<%=rs_conn("login")%>,
<%=rs_conn("pass")%>,
<%=nivo(rs_conn("nivo")-1)%>,

<%rs_conn.moveNext
wend%>

<%end if
else ' Formulaire d'identification sinon
%>
<form method="post" action="admin.asp">
Login

,
Password

,

</form>
<%end if
' Déconnexion
rs_conn.Close()
%>

Ma page _protect.asp :

<% ' Libellés des niveaux
nivo = Array("revendeurs","groupements","distributeurs")
' On lit le cookie
protect=request.cookies("passe6")
' si vide >> niveau 4
if protect="" then protect="4"%>

<center>

<% ' si identifié >> lien vers page Admin
if protect<"4" then
%>[admin.asp Page
<%=nivo(cInt(protect)-1)%>] -
<%end if%>

[page1.asp Page 1] -
[page2.asp Page 2] -
[page3.asp Page 3]
</center><hr>

enfin un exemple de page : page1.asp
<!-- #include file="_protect.asp"-->
<% ' Privée pour le niveau 1
if protect<"2" then%>

Version privée de votre page 1

<%else%>

Version publique de votre page 1

<%end if%>

Mon problème est semble t-il un problème de connexion à la base de donnée
l'Aperçu dans le navigateur (pour la page Admin après identification du login et
du password) donne ceci :

[ ADODB.Recordset erreur '800a0e79'

Cette opération n'est pas autorisée si l'objet est ouvert.

/anemoi/Connections/admin.asp, ligne 26 ]

Pouvez-vous m'aider...

merci d'avance,
mezzanine

3 réponses

cs_mezzanine Messages postés 2 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 16 juin 2004
16 juin 2004 à 10:00
enfin, j'ai réussi, probleme de parametrage (mea culpa)
Une question :
je souhaite effectuer une requete qui aura pour conséquence qu'a chaque personne qui se connectera (cad soit distributeurs, revendeurs, particuliers avec un login & password propre à leur profil) , chacune de ses categories accedera à la page "admin"avec un visuel different et ayant un fichier à telecharger different (visuels et fichiers entreposés dans base de donnée)...
Pouvez-vous m'aider ?
Merci d'avance,
Mezzanine
0
mourafik19 Messages postés 2 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 7 juin 2005
7 juin 2005 à 19:08
hi
0
bikhbikh Messages postés 1 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 15 mai 2008
15 mai 2008 à 16:01
Science
sans
conscience
n'est
que
ruine
de
l'âme
0
Rejoignez-nous