Forums Développement Multimédia

Aller au contenu

Accès restreint

CMS Silex

36 réponses à ce sujet

#1 miraceti

    Ceinture Orange

  • Members
  • PipPipPip
  • 47 messages

Posté 18 September 2009 - 12:42 PM

Bonjour,

J'essaie de créer une page à accès restreint. Le tutoriel disponible est un peu compliqué pour ce que je veux faire alors je bricole mais sans grand succès.
J'ai un bouton qui ouvre une page "login". Dans cette page "login", j'ai un champ de texte pour saisir le mot de passe. Un bouton "valider" puis si le mot de passe est bon alors une page "intranet" doit s'ouvrir automatiquement (sans avoir besoin de cliquer sur un lien nouvellement apparu, ce qui alourdirait la procédure).
Dans le tutoriel, on utilise un champ de texte pour valider le mot de passe et faire apparaître un lein pour ouvrir la page réservée. Or moi je veux qu'elle s'ouvre automatiquement.
Si quelqu'un a une idée...

Merci.

Didier

#2 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 18 September 2009 - 20:11 PM

salut
il y a un tout nouveau composant login
ca pourrait t interesser?
je crois qu il te faut alors une base de donnees

#3 contact.sharof

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 199 messages

Posté 22 September 2009 - 19:25 PM

Voici le tutos :
http://silex-ria.org/media/tutoriel/Tutoriel_creation_de_compte.pdf

#4 miraceti

    Ceinture Orange

  • Members
  • PipPipPip
  • 47 messages

Posté 24 September 2009 - 01:05 AM



Salut Sha, merci pour le tuto mais le lien ne semble pas fonctionner.

Didier

#5 contact.sharof

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 199 messages

Posté 24 September 2009 - 01:57 AM

salut. dsl je suis en plein chantier sur les tutoriels. voila le bon tutos mis à jour en pj

#6 miraceti

    Ceinture Orange

  • Members
  • PipPipPip
  • 47 messages

Posté 24 September 2009 - 19:21 PM

sha a écrit:salut. dsl je suis en plein chantier sur les tutoriels. voila le bon tutos mis à jour en pj

Euh, ce n'est pas le bon tuto, non ? Il ne parle pas d'accès restreint.

Didier

#7 contact.sharof

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 199 messages

Posté 24 September 2009 - 19:28 PM

:idea: yes, désolée celui est déjà plus adapté :

#8 contact.sharof

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 199 messages

Posté 24 September 2009 - 19:32 PM

il faut pour cela, télécharger les composants OOf à cette adresse :
http://wp-manager.silex-ria.org/?p=319
bon courage, et n'hésite pas à revenir si tu as des questions sur le tutos

#9 miraceti

    Ceinture Orange

  • Members
  • PipPipPip
  • 47 messages

Posté 25 September 2009 - 20:23 PM

sha a écrit:il faut pour cela, télécharger les composants OOf à cette adresse :
http://wp-manager.silex-ria.org/?p=319
bon courage, et n'hésite pas à revenir si tu as des questions sur le tutos


Merci !

Didier

#10

  • Guests

Posté 10 January 2010 - 21:13 PM

Bonjour,

Déterrage de Topic !

Donc sur mon site http://www.pyropartyconcept.com onglet "espace pro" / "bandes sons" / label ( en bas à gauche ).

case la plus haute : nom -> pass -> email.

J'ai donc suivis le tuto, mais sans resultat malheureusement.
Pas de création de compte, pas de message d'erreur non plus...

Seul point sur le quel je me pose une question dans le tuto :
Méthodes :
create


il n'y a rien a modifier ?? hormis :
Code: Tout sélectionner
onEnter recordCreator.create:
et
Code: Tout sélectionner
onRelease recordCreator.create:


Merci

#11

  • Guests

Posté 11 January 2010 - 15:34 PM

Du Nouveau,

Bon j'ai créé manuellement des utilisateurs :

Mais quand je veux me m'identifier, j'ai le message d'erreur suivent :

Code: Tout sélectionner
    ’error : The class {login_web_service} could not be found under the class path {/homepages/30/d273970832/htdocs/cgi/services/login_web_service.php}’




je n'ai trouvé aucun login_web_service.php.

Si quelqu'un sais comment résoudre le problème ?

merci

#12 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 11 January 2010 - 16:05 PM

salut

je me demande si tu ne dois pas créer ce fichier a partir de login_web_service_base
je pense que c est comme ca qu'on permet a chacun d'avoir son format et ses propres bases de donnees

ariel va t'éclairer bientot (je l ai eu au tel)

#13

  • Guests

Posté 11 January 2010 - 20:53 PM

Ok merci,

Je vais voir avec login_web_service_base, et j'attends qu'ariel viennes me donner plus d'infos.

@+

#14

  • Guests

Posté 19 January 2010 - 00:05 AM

Salut,

Je reviens sur le sujet car je ne trouve rien par rapport à login_web_service_base.
Si la personne qui a fait le tuto, ou une personne qui à deja utilisé ces composants passe par la et peut m'aider... :?:

Merci

#15 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 20 January 2010 - 10:15 AM

Salut,
désolé, j'ai loupé ton message. :-)
Dans la distribution OOF, il y a dans le répertoire "services" un fichier login_web_service.php
Il doit être mis dans le répertoire cgi/services de silex, comme décrit dans le "lisezmoi.txt".
bon courage,
et tiens nous au courant, tu ne dois pas être loin du compte!
Ariel

#16 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 20 January 2010 - 10:17 AM

je viens de relire le tuto, c'est vrai que c'est pas évident. Est-ce que ça correspond à tes besoins, ou tu n'as pas besoin de tout?
Ariel

#17

  • Guests

Posté 20 January 2010 - 23:43 PM

Salut,

Merci ariels pour tes réponses.
J'ai donc transféré les bon services pour la creation de compte, et l'authentification.

En effet je n'ai plus le message d'erreur. Mais la ça ne fait plus rien, dès que je clic sur le bouton pour valider, il n'y a rien qui se passe.

Pour creer un compte j'ai mi une page temporaire label en bas à gauche de la page espace pro.
Pour se logger, espace pro > bande son > alexander.

Un compte existe deja : log : romain / pass : test

Sinon, j'ai juste besoin d'une creation, et d'une authentification pour l'instant.

merci
@+tard

#18 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 21 January 2010 - 10:44 AM

Salut,
malheureusement c'est vrai que s'il ne se passe rien je peux difficilement t'aider. Le coup du message d'erreur c'est justement pour éviter cette situation. Mais là... Tu es à la pointe de ce qui se fait avec Silex, donc c'est un peu (plus) râpeux, on s'en excuse!
Donc, que peut-on faire?

Est-ce que tu as regardé les logs?
c'est dans le répertoire logs. Il faut éventuellement les activer, dans conf/log.ini

sinon quelque chose qui peut t'aider beaucoup:
installer l'outil de test!
c'est le "service browser", un truc à ajouter, qui te permet de tester ton serveur. Installe le, et tu peux tester ton authentification. C'est le login_web_service, méthode login.

Voir ce fil:
viewtopic.php?f=3&t=723&p=2861&hilit=browser&sid=828e6e9c258f4b5d89703ad11d5d59d1#p2861

bon courage
Ariel

#19

  • Guests

Posté 21 January 2010 - 11:26 AM

Salut,


Donc pour les logs, ils sont activés, mais quand j'essaye d'y acceder, il me demande mes identifiants silex, donc je les rentres, mais il ne les acceptes pas.

Ensuite j'ai installé le service browser, et voila le resultat pour login web service :

Code: Tout sélectionner
Exploring login_web_service.php

Warning: require_once(../includes/account_manager.php) [function.require-once]: failed to open stream: No such file or directory in /homepages/30/d273970832/htdocs/cgi/services/login_web_service.php on line 21

Fatal error: require_once() [function.require]: Failed opening required '../includes/account_manager.php' (include_path='.:/usr/lib/php5') in /homepages/30/d273970832/htdocs/cgi/services/login_web_service.php on line 21


http://www.pyroparty.fr/cgi/broswer


j'ai certainement du louper une étape pour en arriver la ....

#20 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 21 January 2010 - 12:04 PM

alors, si tu reprend le lisezmoi.txt, il y a marqué (je cite)

Cette version contient 5 dossiers:
- includes
- services
- scripts
- swf
- conf

Une fois que vous avez installÈ silex sur votre serveur, vous devez:
- copier le contenu du dossier includes vers le dossier cgi/includes/ de silex
- copier le contenu du dossier services vers le dossier cgi/services/ de silex
- copier le contenu du dossier scripts vers le dossier cgi/scripts/ de silex
- copier le contenu du dossier swf vers le dossier media/components/oof de silex
- copier le contenu du dossier conf vers le dossier conf/ de silex


le account_manager.php est dans includes. Copie tous les fichiers, sinon ça ne peut pas marcher :-)

#21

  • Guests

Posté 21 January 2010 - 14:29 PM

Oops ! :oops:

J'ai tendance à oublier de lire les petits fichiers qui s'appellent lisez moi ... Désolé.

Bon c'est déja mieux, j'ai des messages d'erreur, mais j'ai l'impression que la connexion à la base de donnée ne se fait pas.

http://www.pyropartyconcept.com/cgi/browser/

dans le fichier config oof_db_config.php , il y a bien 4 champs à modifier ?


Encore merci pour ton aide.

#22 miraceti

    Ceinture Orange

  • Members
  • PipPipPip
  • 47 messages

Posté 22 January 2010 - 04:24 AM

Bonjour,

Je passais dans le secteur...
Comme j'avais des difficultés moi aussi à utiliser les composants pour faire cet accès restreint, j'ai utilisé avec succès le petit pack php suivant : http://www.phpcs.com/code.aspx?ID=25246
Ça marche bien, en attendant mieux.

Didier

#23 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 22 January 2010 - 10:11 AM

@miraceti
tu as réussi à intégrer ça dans ton site silex? ou tu as fait un site membres à part? Tu avais bloqué sur quoi, sinon?

@parilladu77
pas de problème, quand je vois qu'il y a plus de 600 vues sur ce fil, je me dis que ton erreur peut servir à d'autres :-)

Donc, reprenons:
oui, il y a 4 champs à configurer dans oof_db_config.php
un de ces jours il faudra qu'on fasse un installeur oof, mais en attendant c à la main. Tu as du recevoir les informations nécessaires de ton hébergeur quand tu as créé ton compte.

Sinon j'ai zappé les logs:
Il faut que dans conf/log.ini tu remplaces la ligne
logLevel = DISABLED
par
logLevel = DEBUG

ainsi tu auras des logs. Par contre, je ne vois pas pourquoi tu as besoin d'un mdp pour y accéder. Tu as quoi dans ton répertoire logs?
Ariel

#24 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 22 January 2010 - 10:41 AM

tiens, suite à notre discussion j'ai écrit ceci
http://www.silexlabs.com/the-blog/fr/2010/01/paniquepanic-silexoof/

#25

  • Guests

Posté 22 January 2010 - 10:59 AM

Salut,


Pour le log.ini, j'avais mi ENABLE au lieux de DEBUG, mais toujours une demande de mot de passe.
Le contenu :

Code: Tout sélectionner

22/01/2010  09:56    <DIR>          .
22/01/2010  09:56    <DIR>          ..
22/01/2010  09:56               321 .htaccess
22/01/2010  09:56           163 627 access.log.01.gz
22/01/2010  09:56            83 246 access.log.02.gz
22/01/2010  09:56            18 198 access.log.03.1.gz
22/01/2010  09:56            18 779 access.log.03.2.gz
22/01/2010  09:56            28 360 access.log.03.3.gz
22/01/2010  09:56            45 424 access.log.03.4.gz
22/01/2010  09:56           144 446 access.log.03.5
22/01/2010  09:56            79 541 access.log.48.gz
22/01/2010  09:56            86 539 access.log.49.gz
22/01/2010  09:56           115 336 access.log.50.gz
22/01/2010  09:56            94 616 access.log.51.gz
22/01/2010  09:56            71 818 access.log.52.gz
22/01/2010  09:56           112 406 access.log.53.gz
22/01/2010  09:56           144 446 access.log.current
22/01/2010  09:56           202 552 ftp.log
22/01/2010  09:56             1 920 ftp.log.01.gz
22/01/2010  09:56             3 610 ftp.log.02.gz
22/01/2010  09:56               742 ftp.log.48.gz
22/01/2010  09:56             5 240 ftp.log.49.gz
22/01/2010  09:56               453 ftp.log.52.gz
22/01/2010  09:56                24 info.php
22/01/2010  09:56                21 info.php5
22/01/2010  09:56             1 321 mail.log
22/01/2010  09:56               309 mail.log.01.gz
22/01/2010  09:56               388 mail.log.02.gz
22/01/2010  09:56               294 mail.log.53.gz
22/01/2010  09:56            12 288 traffic.db
22/01/2010  09:56    <DIR>          traffic.html


si ça peut aider.
merci


EDIT : et quand je met debut dans log.ini, voila ce que donne mon site :

Code: Tout sélectionner
Fatal error: Uncaught exception 'Zend_Log_Exception' with message '"/homepages/30/d273970832/htdocs//logs/20100122silex.log" cannot be opened with mode "a"' in /homepages/30/d273970832/htdocs/cgi/library/Zend/Log/Writer/Stream.php:66 Stack trace: #0 /homepages/30/d273970832/htdocs/cgi/includes/logger.php(52): Zend_Log_Writer_Stream->__construct('/homepages/30/d...') #1 /homepages/30/d273970832/htdocs/cgi/includes/server_config.php(22): logger->logger('server_config') #2 /homepages/30/d273970832/htdocs/index.php(132): server_config->server_config() #3 {main} thrown in /homepages/30/d273970832/htdocs/cgi/library/Zend/Log/Writer/Stream.php on line 66


#26 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 22 January 2010 - 11:04 AM

ENABLE ça ne marche pas, il y a des explications au dessus sur les valeurs acceptées.
Enfin, je ne suis étonné par le contenu de ton répertoire logs. Normalement il y a un index.php et des fichiers logs. Il s'agit bien du répoertoire logs à côté de ton réertoire conf?

#27

  • Guests

Posté 22 January 2010 - 11:20 AM

Sinon j'ai un répertoir logs2 :
Code: Tout sélectionner
.htaccess
index.php


Rien de plus, donc d'apres ce que tu me dit c'est surement celui la, mais il a pas le bon nom, donc pas de logs ?

As tu vue mon edition sur la page précédente ?


EDIT :
ça y est je me souviens d'où vient ce répertoire logs, je suis hebergé sur 1and1 et il y a un répertoire logs d'origine, ça m'avais posé problème pour l'installation dalleur.
Donc le message d'erreur que j'ai sur mon site quand je met "DEBUG", viens très certainement du fait que je n'ai pas ce qu'il faut dans le bon répertoire.
Et le gros problème, est que je n'ai aucun droit sur le répertoire logs ...
Y a t il un moyen de reconfigurer quelque chose pour que le répertoire des logs soit "logs2" et pas "logs" ??

merci

#28 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 22 January 2010 - 16:49 PM

aaaah, du bonheur. Tu peux changer d'hebergeur, ou faire la bidouille suivante. Je répète, c'est une bidouille:
dans cgi/includes/logger.php tu remplace
/logs/

par

/logs2/

#29 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 22 January 2010 - 17:33 PM

ariel,
dans silex_server.ini il y a le noms des repertoires, ca serait pas mal de les utiliser dans les services
a+

#30

  • Guests

Posté 22 January 2010 - 21:35 PM

Donc c'est bon merci, j'ai les logs.

Ce coup si il me demande plus d'identifiants, mais j'ai quand meme ça :

Error 403 - Forbidden

L'accès au fichier requiert une autorisation.


Je suis donc allé à la pèche aux infos dans le fichier txt créé et mon problème à mon avis :


Code: Tout sélectionner
2010-01-22T20:22:57+01:00 ERR (3): account_manager _authenticate error. mysql_connect(): Unknown MySQL server host 'DB_HOST' (1)


Mais bon j'ai bien renseigné la bonne adresse de serveur dans le fichier de config : db1779.1and1.fr

Donc la je comprend plus ...

#31 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 26 January 2010 - 16:38 PM

tu as bien

define('DB_HOST', 'db1779.1and1.fr');
?
tu peux poster ton fichier de conf (change le mot de passe, hein!)
Ariel

#32

  • Guests

Posté 26 January 2010 - 21:38 PM

Salut,

En effet je devais etre fatigué quand j'ai modifié le fichier de config.
J'avais inversé les champs ...

Donc c'est deja mieux, mais toujours des erreurs.
Les logs :

Quand je fait un Create :

Code: Tout sélectionner
2010-01-26T20:31:27+01:00 ERR (3): user_content_manager createRecord error. permission denied, not logged in
2010-01-26T20:31:27+01:00 DEBUG (7): user_content_manager session : Array
(
    [amfphp_username] => admin
    [amfphp_roles] => authRoleUser
)

2010-01-26T20:31:27+01:00 DEBUG (7): user_content_manager security level needed for request : 2



Et un logging :

Code: Tout sélectionner
2010-01-26T20:34:16+01:00 DEBUG (7): account_manager _authenticate, name : romain
, password : test
2010-01-26T20:34:16+01:00 DEBUG (7): DB - DB - account_manager connecting : , DB_HOST: db1779.1and1.fr, DB_USER : dbo......., DB_PASSWORD :******, DB_NAME : db.....
2010-01-26T20:34:16+01:00 INFO (6): DB - DB - account_manager oof sql query : SELECT * FROM User WHERE name = 'romain
'
2010-01-26T20:34:16+01:00 ERR (3): account_manager _authenticate error. wrong password
2010-01-26T20:34:16+01:00 DEBUG (7): account_manager session : Array
(
    [amfphp_username] => admin
    [amfphp_roles] => authRoleUser
)



Je rappel que j'ai créé le compte "romain/test" manuellement dans phpmyadmin.

Ca doit pas etre loin ...

#33 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 27 January 2010 - 09:39 AM

Ah, on chaufffe!
C bien, t'es persistent :-)
Donc, sur la création:
Ca c'est le conf/oofSecurity.ini.
Il lit par défaut

;use : 4 permissions : cancreate, canread, canupdate, candelete
;4 levels of security: ALL, USER, OWNER, ADMIN
;use a pair. no spaces!
; currently these permissions are for all tables.
;it's planned to have sections for each table, but it's not done yet
;below is a sample config file
cancreate=USER
canread=ALL
canupdate=OWNER
candelete=ADMIN


Dans ton cas le plus simple serait de changer la ligne cancreate:
cancreate=ALL

Comme ça pas besoin d'être loggé pour créer des entrées. D'ailleurs je vais mettre ça par défaut dans la distribution.

Ensuite, pour le log:

Ta requête en base comprend un retour à la ligne:
SELECT * FROM User WHERE name = 'romain
'
Donc ça veut probablement dire que tu as un retour à la ligne qui s'est glissé dans ta saisie. Ca n'est peut-être pas gènant, mais on ne sait jamais. Ensuite, dans ta base de données, OOF ne s'attend pas à ce que ton mot de passe soit stocké en clair, mais qu'il soit passé à la moulinette du sha1. C'est fait automatiquement quand tu créés par OOF, par contre si tu veux le faire à la main, tu dois remplacer "test" dans ta base par son équivalent sha1.
J'ai trouvé un outil en ligne qui le fait pour toi, et ça serait donc
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3

http://www.tools4noobs.com/online_php_functions/sha1/

Voilà, t'y es presque ;-)

#34

  • Guests

Posté 27 January 2010 - 13:29 PM

Salut,

Donc j'ai fait ma modif dans le fichier .ini

Plus d'erreur de droits, mais une erreur de syntaxe maintenant ^^


Pour l'ajout de compte :

Code: Tout sélectionner
2010-01-27T12:14:11+01:00 DEBUG (7): user_content_manager createRecord, form : create, item : Array
(
    [name] => test
    [password] => test
    [email] => test@test.fr
)

2010-01-27T12:14:11+01:00 DEBUG (7): DB - DB - user_content_manager connecting : , [..........]

2010-01-27T12:14:11+01:00 INFO (6): DB - DB - user_content_manager oof sql query : INSERT INTO create SET name = 'test', password = 'test', email = 'test@test.fr'

2010-01-27T12:14:11+01:00 ERR (3): user_content_manager createRecord error. error executing query : INSERT INTO create SET name = 'test', password = 'test', email = 'test@test.fr'
Error code : 1064
Error text : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create SET name = 'test', password = 'test', email = 'test@test.fr'' at line 1

2010-01-27T12:14:11+01:00 DEBUG (7): user_content_manager session : Array
(
    [amfphp_username] => admin
    [amfphp_roles] => authRoleUser
)..........



"INSER INTO 'create'" :?: :?:


Et pour se logger :

Code: Tout sélectionner

2010-01-27T12:24:35+01:00 DEBUG (7): account_manager _authenticate, name : lexayo, password : 74c10f03122e8cf9f38cd3a0300d026b8977fe1f

2010-01-27T12:24:35+01:00 DEBUG (7): DB - DB - account_manager connecting :
[............]
2010-01-27T12:24:35+01:00 INFO (6): DB - DB - account_manager oof sql query : SELECT * FROM User WHERE name = 'lexayo'

2010-01-27T12:24:35+01:00 ERR (3): account_manager _authenticate error. wrong password

2010-01-27T12:24:35+01:00 DEBUG (7): account_manager session : Array
(
    [amfphp_username] => admin
    [amfphp_roles] => authRoleUser
)



Ca va bien finir par fonctionner ! enfin j'espère :)

#35 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 27 January 2010 - 16:45 PM

Bon, faisons déjà la création:
Là j'imagine que dans ton DatabaseConnector tu n'as pas mis
serviceName = user_account_service
?
Ca expliquerait les symptomes.

#36

  • Guests

Posté 27 January 2010 - 21:24 PM

Miracle !!! :D :D :D

En effet, j'avais oublié le "user_account_service".
Du coup la création fonctionne, et en utilisant les identifiants que j'ai créé avec le formulaire, l'authentification fonctionne aussi !!!

Donc avec un ajout manuel dans la base ça na pas l'air de fonctionner.


Encore merci pour ton aide Ariel.

Bonne soirée.
@+

#37 ariels

    Ceinture Marron

  • Silex Lab
  • PipPipPipPipPipPip
  • 137 messages

Posté 28 January 2010 - 09:43 AM

Ah, ça fait plaisir! Félicitations :-)
Bon, pour ceux qui veulent faire un ajout manuel dans la base, c'est faisable. Il faut juste que le mot de passe dans la base soit passé à la moulinette sha1.
Ariel



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)