Les page Application.cfm et OnRequestEnd.cfm doivent être sous la racine de ton projet.
Code:
1
2
3
4
5 Root-Project (Ton Application) ¦ + Application.cfm + OnRequestEnd.cfm + <Les autres pages de ton projet ou répertoires >
Version imprimable
Les page Application.cfm et OnRequestEnd.cfm doivent être sous la racine de ton projet.
Code:
1
2
3
4
5 Root-Project (Ton Application) ¦ + Application.cfm + OnRequestEnd.cfm + <Les autres pages de ton projet ou répertoires >
okok mais a la base elles sont ou les pages la ?
car je vien de faire une recherche dans le pc et je n'ai pas trouver ses fichiers
Si tu es sous CF8, tu auras peut être le fichier Application.cfc... ?
Sinon où sont placés tes fichiers "authentificationXXX.cfm"?
mes fichiers sont ici :
C:\Inetpub\wwwroot\CFIDE\administrator
ils sont dans le dossier administrator
enfet si j'arrive a faire un logout sur la page suivante sa devrait marcher na?
Normalement, on ne touche pas au répertoire CFIDE\administrator.
Même si ce n'est pas un très bon conseil , il faut que les fichiers soit sous wwwroot.
ué mais le wwwroot de inetpub ou de coldfusion8 ??
et dans ma bar d'URL je dois mettre quoi car avant je mettais :
http://127.0.0.1/CFIDE/administrator...tification.cfm
A toi de voir!!!
Pour faire simple, utilise le répertoire de inetpub
ajoute un fichier test.html sous C:\Inetpub\wwwroot et un fichier test.cfm sous C:\Inetpub\wwwroot.
Teste en appelant les pages:
http://127.0.0.1/test.html
http://127.0.0.1/test.cfm
Mets du contenu dans le fichier test.html et test.cfm
ah ouais sa marche merci,
pff chui vraiment largué en coldfusion.
quel est la variable qui me permet de fermer une session ?
car je l'ouvre grace a mon formulaire mais je dois pouvoir aussi me déconecter une fois logger.
je pourrais faire un session destroy() et un session unset() avec un header qui me redirige vers la page de connection mais c'est du php :cry:
tu crées un page action logout.cfm qui invalide la session et redirige l'utilisateur vers la page de login (voir documentation de cflogout).
je viens de regarder la doc de cflogout
j'ai donc tenté ceci mais se code la est bon pour un utilisateur, par pour tous ceux de ma base de donnéeCode:
1
2
3
4
5
6
7 <cflogin> <cfloginuser name="ben" password="2205" roles="admin"> </cflogin> <cfoutput>Authorized user: #getAuthUser()#</cfoutput> <cflogout> <cfoutput>Authorized user: #getAuthUser()#</cfoutput>
merci bien jowo de toute tes explications
j'ai réussi a faire un logout qui fonctionne grace a la doc
j'arrive aussi sécuriser les pages grace a cfapplication
j'ai juste un dernier souci :
si je ne met pas le <cfset....Code:
1
2
3
4
5
6
7
8
9
10 <cfset session.loggedin=true> <cfif (session.loggedin eq true)> <center><h2>Bienvenue<br><br> <a href="logout.cfm">Se Déconecter</a></h2></center> <cfelse> <cflocation url="authentification.cfm"> </cfif> </body> </html>
coldfusion me dit que loggedin n'est pas définie et quand je le définie comme la
je peux mettre soi true ou false mais quand je met true mes pages ne sont pas sécurisé et quand je met false je peu plus acceder au reste du site.
Comment puis je gérer se probleme? :?
j'ai réussi a bloquer la page en définissant session.loggedin a true dans ma page qui vérifie le login et password
l'accès aux page sans identification est donc ok
mais dans l'URL quand je rentre le login et password
j'ai des truc qui apparaissent et si je copie colle le lien je passe quand meme
y a til un moyen de bloquer sa ?
exemple : http://127.0.0.1/authentification3.c...TOKEN=15849883
voila le lien si j'enleve ?CFID=0&CFTOKEN=15849883 je revien au login et mot de passe nikel
mais si je met le lien la je passe direct a authentification3
y a t-il un moyen de bloquer cet accès?
<cfapplication
name="NOM_DE_L_APPLI"
clientmanagement="Yes" <------ gestion des cookies
sessionmanagement="Yes" <---- gestion des sessions
>
je l'ai déja sa :s:s
application.cfm
Code:
1
2
3
4
5
6
7
8
9
10
11
12 <cfapplication name = "authentification" clientManagement = "yes" sessionManagement = "yes"> <cfif (not isDefined("session.loggedin") or session.loggedin eq false)> <cflocation url="authentification.cfm"> <cfexit> </cfif> </cfapplication>
Je le répète encore: ON DOIT AVOIR LA DOCUMENTATION GRANDE OUVERTE DEVANT SOI....
Même après de nombreuses années de CF et d'autres langages, j'ai toujours la documentation sous la main dans un coin de mon écran....
Que dit la documentation au sujet de "cflocation" et de l'attribut "addToken"?
enfet c'est bon sa marche, on ne peut acceder aux page suivante une fois loggé. Par contre mon css est pa pris en compte, je suis dans le dossier wwwroot.
voila je vien de changer mon code et de rajouter addtoken et statuscode mais je ne vois aucun changement, sa marche toujours pareil, j'ai la doc ouverte sous mes yeux depuis se matinCode:
1
2
3
4
5 <cflocation url = "URL" addToken = "yes|no" statusCode = "300|301|302|303|304|305|307">
Dans les autres pages de ton application, tu ne t'occupes plus de savoir si oui ou non ton utilisateur est logué. Vu que le contrôle a été effectué durant Application.cfm.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 <cfapplication name="authentification" clientmanagement="Yes" setclientcookies="No" sessionmanagement="Yes" sessiontimeout="#CreateTimeSpan(0, 0, 20, 0)#"> <cfif not CGI.REQUEST_URI is "authentification.cfm" or not CGI.REQUEST_URI is "logout.cfm"> <cfif (not isDefined("session.loggedin") or session.loggedin eq false)> <cflocation url="authentification.cfm" addToken="False"> <cfexit> </cfif> </cfapplication>
logout.cfm
Code:
1
2
3
4 <cflogout><!--- peut être pas nécessaire ---> <cfset structClear(session)> <cflocation url="authentification.cfm" addToken="False">
avec ton code je n'arrive plus a acceder aux autres page meme étant loggé.
j'ai enlevé le test qui me permet de savoir si je suis bien loggé dans les autres pages mais je n'arrive plus a acceder aux page, quand je me logge je reste sur la meme page avec le login et le mot de passe
Je ne vais pas te mâcher tout le travail. À toi de voir si le code n'a pas d'erreur...
Montre-nous le code de "Application.cfm", "authentification.cfm", "authentification1.cfm" et "logout.cfm"
Erreur dans Application.cfm:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 </cfapplication><cfapplication name="authentification" clientmanagement="Yes" setclientcookies="No" sessionmanagement="Yes" sessiontimeout="#CreateTimeSpan(0, 0, 20, 0)#"> <cfif not CGI.REQUEST_URI is "authentification.cfm" or not CGI.REQUEST_URI is "logout.cfm"> <cfif (not isDefined("session.loggedin") or session.loggedin eq false)> <cflocation url="authentification.cfm" addToken="False"> <cfexit> </cfif> </cfif> </cfapplication>
voilaCode:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 application.cfm: <cfapplication name = "authentification" applicationTimeout = #CreateTimeSpan(0, 0, 10, 0)# clientManagement = "yes" loginStorage = "session" scriptProtect = "none" sessionManagement = "yes" sessionTimeout = #CreateTimeSpan(0, 0, 10, 0)# setClientCookies = "yes" setDomainCookies = "yes"> <cfif (not isDefined("session.loggedin") or session.loggedin eq false)> <cflocation url="authentification.cfm" addToken="no" statusCode="300"> <cfexit> </cfif> </cfapplication> authentification.cfm : <html> <head> <link rel="stylesheet" media="screen" type="text/css" title="coldfusion" href="stylesheet.css" /> </head> <body> <table cellspacing="10" cellpadding="10" width="300" align="center" border="0"> <tbody> <form action="authentification2.cfm" method="POST"> <tr> <td>Login</td> <td><input id="login" name="login" type="text" /></td> </tr> <tr> <td>Password</td> <td><input id="password" type="password" name="Password" /></td> </tr> <td><input type="submit" name="submit" value="Envoyer" /></td> </tbody> </table> </body> </html> authentification2.cfm : <cfparam name="FORM.login" default=""> <cfparam name="FORM.password" default=""> <cfquery datasource="authentification" name="authentification"> SELECT login, password FROM authentification WHERE login = <cfqueryparam value="#FORM.login#" cfsqltype="CF_SQL_VARCHAR"> AND password = <cfqueryparam value="#FORM.password#" cfsqltype="CF_SQL_VARCHAR"> </cfquery> <cfif authentification.recordCount> <cfset session.valid_account=authentification> <cfset session.loggedin=true> <cflocation url="authentification3.cfm"> <cfelse> <cflocation url="authentification5.cfm"> </cfif> authentification3.cfm: <cfparam name="FORM.login" default=""> <html> <head> <link rel="stylesheet" media="screen" type="text/css" title="coldfusion" href="stylesheet.css" /> </head> <body> <cfif (session.loggedin eq true)> <center><h2>Bienvenue <br><br> <a href="logout.cfm">Se Déconecter</a></h2></center> <cfelse> <cflocation url="authentification.cfm"> </cfif> </body> </html> logout.cfm : <cfset session.userid = ""> <cfset session.user = ""> <cfset session.loggedin="no"> <cfset session.lastlogin=""> <cfset PageResponse="Thanks. Come back soon"> <cfinclude template="authentification.cfm">