Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2007, 11h26   #1
Provisoirement toléré
 
Étudiant
Inscription : juin 2005
Messages : 291
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 291
Points : 144
Points : 144
Envoyer un message via MSN à b_steph_2
Par défaut limiter le droit d'accès en fonction de l'id de la session XP

Bonjour à toutes et à tous,

je suis totalement novice en ASP.... et je souhaiterai limiter l'accès à un formulaire en fonction de l'identifiant signalé lors de l'ouverture de la session XP...

quelqu'un aurait-il une idée?

Merci d'avance
__________________
Le problème n'est pas l'ordinateur mais l'utilisateur
b_steph_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 11h51   #2
Provisoirement toléré
 
Étudiant
Inscription : juin 2005
Messages : 291
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 291
Points : 144
Points : 144
Envoyer un message via MSN à b_steph_2
voilà je dispose du code suivant mais je ne comprends pas tout serait-il possible de m'expliquer ce code?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<%
var1=request.servervariables("logon_user")
session("rec_matricule")=right(var1,7)
 
'connexion à la base
 
Set Conn = Server.CreateObject("ADODB.Connection")
path = Server.MapPath("/baseroot/formation_catalogue/CatalogueFormation.mdb")
Conn.open "driver={Microsoft Access Driver (*.mdb)};DBQ="&path
 
set objcmd = server.createobject("ADODB.Command")
 
set rd = server.createobject("ADODB.Recordset")
rd.CursorType = adOpenForwardOnly
rd.LockType = adLockOptimistic
 
Set objcmd.ActiveConnection = Conn
 
objcmd.CommandText = "r_collaborateur_signature"
objcmd.CommandType = adCmdStoredProc
 
Set param1 = objcmd.CreateParameter("collaborateur?", adLongVarChar, adParamInput,-1)
objcmd.Parameters.Append param1
objcmd.Parameters("collaborateur?") = session("rec_matricule")
rd.Open objcmd
	if (not rd.eof and not rd.bof) then
		sign_collab=rd("collab")
	end if
rd.close
%>
__________________
Le problème n'est pas l'ordinateur mais l'utilisateur
b_steph_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 12h02   #3
Membre actif
 
Avatar de lapanne
 
Inscription : juin 2006
Messages : 200
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 200
Points : 168
Points : 168
Envoyer un message via MSN à lapanne
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<% 
'Recuperation du nom de connexion du user connecté
var1=request.servervariables("logon_user") 
'un right probablement pour virer le nomdedomaine dans nomdedomaine/login
'entre nous je trouve ça con si le nom de doamine passe à 8 lettres, c'est foutu :/
session("rec_matricule")=right(var1,7)   
 
'connexion à la base   
Set Conn = Server.CreateObject("ADODB.Connection") 
path = Server.MapPath("/baseroot/formation_catalogue/CatalogueFormation.mdb") 
Conn.open "driver={Microsoft Access Driver (*.mdb)};DBQ="&path   
set objcmd = server.createobject("ADODB.Command")   
set rd = server.createobject("ADODB.Recordset") 
rd.CursorType = adOpenForwardOnly 
rd.LockType = adLockOptimistic   
Set objcmd.ActiveConnection = Conn   
objcmd.CommandText = "r_collaborateur_signature" 
objcmd.CommandType = adCmdStoredProc   
Set param1 = objcmd.CreateParameter("collaborateur?", adLongVarChar, adParamInput,-1) 
objcmd.Parameters.Append param1 
objcmd.Parameters("collaborateur?") = session("rec_matricule") 
'Appele de la procedure stockée "r_collaborateur_signature" qui doit renvoyé quelque chose en fonction du session("rec_matricule")
rd.Open objcmd 
	if (not rd.eof and not rd.bof) then 
			' si la procédure stockée à renvoyer quelque chose, on assigne un champ "collab" du résultat à une variable "sign_collab"
			sign_collab=rd("collab")  
	end if 
 
rd.close %>
 
ttom:dashed 1px #FF6600">&nbsp;&nbsp;&nbsp;&nbsp;<%=date%></td> </tr> 
<% query="SELECT * FROM APPLOC_ActiviteREF" 
		query=query&" WHERE nom='"&visuactivite&"'" 
		response.Write(query& "<br>")  
		rs.open query,conn_stat 
		if not rs.eof then 
			' si le resultat de la requete  "SELECT * FROM APPLOC_ActiviteREF WHERE nom='"&visuactivite&"'" n'est pas vide, on affecte à "ChampActivite" une valeur. Puis on l'affcihe dans un tableau 
			ChampActivite=rs.getrows %>  
			<table>  <tr>  <td><%=ChampActivite%></td>  </tr>  </table> 
			<% 
		end if  
		rs.close 
		'le dernier end if ne ferme rien, donc il doit manquer du code. Faudrait que tu le post.
	end if
	%>
Il semblerait que tu n'es pas posté ton code en entier. Pour comprendre, ça serait bien que tu le fasse.
Concernant ton authentif', c'est la premiere partie qui est la plus interressante pour toi aprés tu peux faire un truk du style :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
 
'connexion à la base   
Set Conn = Server.CreateObject("ADODB.Connection") 
path = Server.MapPath("/baseroot/formation_catalogue/CatalogueFormation.mdb") 
Conn.open "driver={Microsoft Access Driver (*.mdb)};DBQ="&path   
set objcmd = server.createobject("ADODB.Command")   
set rd = server.createobject("ADODB.Recordset") 
rd.CursorType = adOpenForwardOnly 
rd.LockType = adLockOptimistic   
Set objcmd.ActiveConnection = Conn   
objcmd.CommandText = "r_collaborateur_signature" 
objcmd.CommandType = adCmdStoredProc   
Set param1 = objcmd.CreateParameter("collaborateur?", adLongVarChar, adParamInput,-1) 
objcmd.Parameters.Append param1 
objcmd.Parameters("collaborateur?") = session("rec_matricule") 
'Appele de la procedure stockée "r_collaborateur_signature" qui doit renvoyé quelque chose en fonction du session("rec_matricule")
rd.Open objcmd 
	if (not rd.eof and not rd.bof) then 
			'affiche quand tu a les droits
 
	Else
		Response.Write "Degage, t'as pas le droit"
	end if 
 
rd.close %>
Aprés y'a quand même des méthodes beaucoup plus élégantes...
lapanne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 12h08   #4
Provisoirement toléré
 
Étudiant
Inscription : juin 2005
Messages : 291
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 291
Points : 144
Points : 144
Envoyer un message via MSN à b_steph_2
merci c'est super sympa .... pour le nom de session il passera jamais à 8... pour tous le groupe dans lequel je suis on a un id de 7 caractères
__________________
Le problème n'est pas l'ordinateur mais l'utilisateur
b_steph_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 12h12   #5
Provisoirement toléré
 
Étudiant
Inscription : juin 2005
Messages : 291
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 291
Points : 144
Points : 144
Envoyer un message via MSN à b_steph_2
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<%
var1=request.servervariables("logon_user")
session("rec_matricule")=right(var1,7)
 
'connexion à la base
 
Set Conn = Server.CreateObject("ADODB.Connection")
path = Server.MapPath("/baseroot/formation_catalogue/CatalogueFormation.mdb")
Conn.open "driver={Microsoft Access Driver (*.mdb)};DBQ="&path
 
set objcmd = server.createobject("ADODB.Command")
 
set rd = server.createobject("ADODB.Recordset")
rd.CursorType = adOpenForwardOnly
rd.LockType = adLockOptimistic
 
Set objcmd.ActiveConnection = Conn
 
objcmd.CommandText = "r_collaborateur_signature"
objcmd.CommandType = adCmdStoredProc
 
Set param1 = objcmd.CreateParameter("collaborateur?", adLongVarChar, adParamInput,-1)
objcmd.Parameters.Append param1
objcmd.Parameters("collaborateur?") = session("rec_matricule")
rd.Open objcmd
	if (not rd.eof and not rd.bof) then
		sign_collab=rd("collab")
	end if
rd.close
%>
j'ai pas 2 end if .. mon code complet c'est ça... c'est bizarre car il y a des truc que j'ai pas dans celui que tu as mis en premier
__________________
Le problème n'est pas l'ordinateur mais l'utilisateur
b_steph_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 12h23   #6
Provisoirement toléré
 
Étudiant
Inscription : juin 2005
Messages : 291
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 291
Points : 144
Points : 144
Envoyer un message via MSN à b_steph_2
le param1 sert à quoi exactement?
__________________
Le problème n'est pas l'ordinateur mais l'utilisateur
b_steph_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 14h23   #7
Membre actif
 
Avatar de lapanne
 
Inscription : juin 2006
Messages : 200
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 200
Points : 168
Points : 168
Envoyer un message via MSN à lapanne
Code :
1
2
et param1 = objcmd.CreateParameter("collaborateur?", adLongVarChar, adParamInput,-1)
objcmd.Parameters.Append param1

Dans ta procédure stockée, tu as un paramètre.
http://http://www.w3schools.com/ado/...eparameter.asp pour plus d'explications.
adLongVarChar,adParamInput sont des constantes définit surement dans un fichier include. Ces 2 variables contiennent des entiers du style adParamInput = 1 pour dire que c'est un parametres entrant.
lapanne est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h46.


 
 
 
 
Partenaires

Hébergement Web