Forum de discussion
Forum « Programmation ASP » (archives)
pb: page d'identification + restriction d'accés aux pages securisées
Envoyé: 5 novembre 2003, 11h21 par pola
Voila, je debute en asp et g kk petits problèmes au niveau de ma page de login et de la restriction des pages securisées.
Developpement en asp et JScript.
Il s'agit ici d'une identification permettant 4 niveaux d'accès:
nivo verificateur
nivo accréditateur
nivo approbateur
nivo verificteur et approbateur (Personne possédant les deux rôles)
et qui renvoi à des pages specifiques suivant le niveau d'accés
Voila globalement, le fonctionnement de ma page de login.
1é pb:
Je suis obliger de cliker deu foi sur le bouton submit. 1é fois, ca prend bien en compte les instructions de mon script mais la redirection se fai sur la mm page. En revanche, kan je clik une second fois, il me redirige bien vers la page specifique à l'utilisateur.
2é pb:
J'ai donc effectuer mon identification. ok. Redirection vers la bonne page .. (Presk) ok. Et la, en revenant sur ma page de login, je rentre un nom bidon.. et ... bah j'ai accés à la page que j'avais pu ouvrir avec ma premiere identification....
Alors, je voulais savoir comment on fait pour reinitialiser une identification... et si ca a avoir avec la restriction des pages sécurisés (restriction que je n'ai po encore effectuer)
Mon code:
<%@LANGUAGE="JAVASCRIPT"%>
<!--#include file="Connections/connGESDOC.asp" -->
<%
var URL;
var Action = Request.ServerVariables("URL");
var Login = String(Request.Form("Nom"));
var MDP = String(Request.Form("MDP"));
Response.Write(Login + " " + MDP + "<BR>");
var User = Server.CreateObject("ADODB.Recordset");
User.ActiveConnection = MM_connGESDOC_STRING;
User.Source = "SELECT * FROM dbo.Personnel WHERE Nom = '" + Login + "' AND MDP = '" + MDP + "';";
User.CursorType = 0;
User.CursorLocation = 2;
User.LockType = 3;
User.Open();
if (!User.EOF) {
Response.Write("Utilisateur présent dans la base de données<BR>");
var IdUser = User.Fields.Item("RefPersonnel").Value;
Response.Write("IdUser = " + IdUser + "<BR>");
var Role = Server.CreateObject("ADODB.Recordset");
Role.ActiveConnection = MM_connGESDOC_STRING;
Role.Source = "SELECT * FROM dbo.EstAttribue WHERE RefPersonnel = '" + IdUser + "';";
Role.CursorType = 0;
Role.CursorLocation = 2;
Role.LockType = 3;
Role.Open();
var AutorisVerif = false;
var AutorisAccr = false;
var AutorisAppro = false;
if (!Role.EOF){
Response.Write("Utilisateur possède bien au moins un rôle<BR>");
while (!Role.EOF) {
Response.Write("Boucle<BR>");
var IdRole = Role.Fields.Item("RefRole").Value;
Response.Write(IdRole + "<BR>");
if (IdRole == 1) {
AutorisVerif = true;
}
if (IdRole ==2) {
AutorisAccr = true;
}
if (IdRole == 3) {
AutorisAppro = true;
}
Role.MoveNext;
}
if (AutorisVerif && AutorisAppro){
Session("Id") = IdUser;
Session("Auth") = 0
URL = "PageVerifAppro.asp";
}
if (AutorisVerif || AutorisAccr || AutorisAppro) {
if (AutorisVerif == true){
Session("Id") = IdUser;
Session("Auth") = 1
URL = "PageVerif.asp";
}
if (AutorisAccr == true){
Session("Id") = IdUser;
Session("Auth") = 2
URL = "PageAccr.asp";
}
if (AutorisAppro == true){
Session("Id") = IdUser;
Session("Auth") = 3
URL = "PageApprob.asp";
}
}
else {
URL = "Ident.asp";
}
}
else {
URL = "Ident.asp";
}
}
else {
URL = "Ident.asp";
}
%>
<%
User.Close();
%>
<html>
<head>
<title>ident</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form" method="post" action="<%=URL%>">
<table align="center" width="30%" border="0">
<tr>
<td>Nom</td>
<td>
<input type="text" name="Nom">
</td>
</tr>
<tr>
<td>MDP</td>
<td>
<input type="password" name="MDP">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit" name="submit" value="Envoyer">
</td>
</tr>
</table>
</form>
</body>
</html>
Je remercie d'avance les ames charitables qui voudront bien m'aider!
Réponses
|