logo Homepage
+  NewbieContest
Username:
Password:
  Voir les messages
Pages: 1 2 [3] 4 5
31  Programmation / Langages Web / Authentifier un utilisateur avec Synfomy [RÉSOLU] le: 03 Février 2015 à 16:13:13
Bon, j'ai déjà posé la question sur IRC donc les "RTFM", les "fais le c'est simple" , les "arrête de pomper des code fais le toi-même" j'en veut pas ici.
Pour info, j'ai lu les docs FR et EN du book de Symfony ainsi que le Cookbook. J'ai essayé d'utiliser les codes d'exemples mais ils ne "marche pas" (c'est peut-être moi qui les utilise mal...) bref.

J'ai une zone protégé par un firewall qui si l'utilisateur n'est pas loggué il est redirigé vers /login.

Code:
#app/config/security.yml
security:
    role_hierarchy:
        ROLE_TEACHER:     ROLE_STUDENT
        ROLE_ADMIN:       ROLE_TEACHER
    providers:
        main:
            entity: { class: Quizz\QuizzBundle\Entity\Users, property: username }


    encoders:
        Quizz\QuizzBundle\Entity\Users:
            algorithm:    sha512
            iterations: 5000
            encode_as_base64: true

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt|error)|css|images|js)/
            security: false

        default:
            anonymous: ~
            http_basic: ~
            form_login:
                login_path: /login
                check_path: /login_check
            logout:
                path:   /logout

        login_firewall:
            pattern:   ^/login$
            anonymous: ~

    access_control:
            # require ROLE_ADMIN for /admin/*
            - { path: ^/admin/, roles: ROLE_ADMIN }
            # require ROLE_STUDENT for /student/*
            - { path: ^/student/, roles: ROLE_STUDENT }
            # require ROLE_TEACHER for /teacher/*
            - { path: ^/teacher/, roles: ROLE_TEACHER }
            # require Anon role for /login*
            - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
            # require auth for /*
            - {path: ^/ , roles: ROLE_STUDENT }

Comme on peut le voir dans le fichier security.yml j'utilise ce qu'on appel un Entity Provider pour charger mes utilisateurs depuis ma base de données.

1er problème [Résolu]:
Lors de l'essai de connexion le mot de passe n'est pas valide et donc j'ai une erreur "Invalid Credentials."
[Solution] : Le champ de la base de données n'était pas assez grand et le mot de passe été tronqué.

2eme probleme :
L'authentification semble passer et l'erreur "Invalide credential" a disparue. Cependant une exception proc.
La BDD à déjà été interrogé.
Citation
Catchable Fatal Error: Argument 4 passed to Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken::__construct() must be of the type array, string given, called in /var/www/html/projetStage/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Authentication/Provider/UserAuthenticationProvider.php on line 96 and defined
500 Internal Server Error - ContextErrorException


Je me suis penché sur ce problème en consultant l'API de symfony et il semble que ce soit un problème de role...

Citation
at ErrorHandler ->handleError ('4096', 'Argument 4 passed to Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken::__construct() must be of the type array, string given, called in /var/www/html/projetStage/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Authentication/Provider/UserAuthenticationProvider.php on line 96 and defined', '/var/www/html/projetStage/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php', '36', array('user' => object(Users), 'credentials' => 'admin', 'providerKey' => 'default'))
in vendor/symfony/symfony/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php at line 36   -

     *
     * @throws \InvalidArgumentException
     */
    public function __construct($user, $credentials, $providerKey, array $roles = array())
    {
        parent::__construct($roles);


Donc , oui j'ai lu les docs, oui j'ai cherché dans l'API pour essayer de voir pourquoi ça ne marche pas, j'ai cherché par moi même, ça fais 5 jours que je galère dessus !

Je demande juste qu'on me dise pourquoi cette erreur ce produit pour que je puisse la comprendre et la résoudre.
Merci d'avance à ceux qui auront la gentillesse de m'aider (pas comme certains...)



[EDIT]

Merci à K@ss d'avoir pris 5 minutes pour m'expliquer d'où venais le problème.Je poste donc la solution si ça intéresse des gens.
Symfony veut que vous lui passiez un tableau de rôles d'utilisateur quand vous utilisé le système d'authentification d'utilisateur.

Code:
<?php

namespace Quizz\QuizzBundle\Entity;

use 
Doctrine\ORM\Mapping as ORM;
use 
Symfony\Component\Security\Core\User\UserInterface;

class 
Users implements UserInterface , \Serializable{

    private 
$id;

    private 
$username;

    private 
$salt;

    private 
$password;

    private 
$email;

    private 
$isActive;

    private 
$roles;

    private 
$name;

    private 
$lastname;



    public function 
__construct()
    {
        
$this->isActive true;
    }

    
/**
     * Set roles
     *
     * @param string $roles
     * @return Users
     */
    
public function setRoles($roles)
    {
        
$this->roles $roles;

        return 
$this;
    }

    
/**
     * Get roles
     *
     * @return string
     */
    
public function getRoles()
    {
        return array(
$this->roles);
    }

}

Dans la fonction getRoles, il faut forcer la définition en array, return array($this->roles);.
Tout con au final, mais un peu déroutant quand ç'est une exception qui sort des tréfonds de symfony.
32  Divers / Informatique / Re : [problème IRC] multiples serveurs simultanés avec ZNC le: 21 Juin 2014 à 14:15:08
Xchat2.
33  Général / Projet en Cours / Re : Des rencontres entre membre de NC? le: 19 Mai 2014 à 14:21:40
je suis complètement
34  News / News du site / Re : La fin de NC le: 17 Mars 2014 à 22:32:41
J'arrive après une longue pause durant la quelle j'ai bûché mes cour de prog, de math et revenir a l’assaut de NC et la que vois-je ??? NC c'est fini... C'est pas un poisson d'avril comme certain "anciens" peuvent ce souvenir...

En tout cas, le Staff InfiniTeam Gaming se porte volontaire pour reprendre le flambeau. Nous n'avons pas de machine virtuel en hébergement pour certaine épreuves mais je suis sur qu'il y a une solution !

J'ai vu que The lsd serai prêt a reprendre le flambeau, je pense qu'il mérite cette chance au vue de toute l'aide qu'il a su nous apporté (ou pas ^^)

Quoi qu'il en soit, ne laissez pas mourir NC. Sauvons des épreuves. Cotisons-nous pour payer au serveur de NC une vie plus longue !

Gloire à NC !
35  Challenges / Aide Hacking / Re : Re : Hacking - Galerie d'images le: 24 Février 2013 à 02:11:23
Je me retrouve souvent avec des pages noir, alors que je devrai probablement avoir tout autre chose.

L'épreuve marche très bien je viens de vérifier. Si tu a une page noir c'est que tu t'es tromper mais je pense que ces pages noir montre que tu touche presque la solution du bout du doigts... courage
36  Challenges / Aide Hacking / Re : Hacking - Galerie d'images le: 22 Février 2013 à 19:38:19
je crois qu'il va falloir faire une pétition pour que les challenger arrête de harceler le contenu de la page... LEAVE SVN ALONE 
37  Divers / Informatique / Re : Re : Re : Question sur facebook le: 19 Février 2013 à 13:50:02
Si le cybercafé est en France, il doit se conformer à la loi française. Je ne suis pas juriste, mais je suppose qu'il doit garder les logs de connexion pendant 1 an (ce qui n'empêche pas de vider les caches des navigateurs).

Oui enfin il les met hors lignes et hors d'usage par le web-browser...

Je dirai plutôt : pourquoi donner notre numéro de téléphone ?
Est-ce que Facebook appelle souvent ses membres ?
Sinon, pourquoi ne pas le donner ?
Bah pour éviter qu'il ne sois donné ou vendu à des publicitaires ou à n'importe qui d'autre.
Ou tout simplement pour le respect des données privées.

Mon compte est sécuriser avec mon téléphone. Quand je me connecte avec autre appareil que mon PC portable je reçois une notification SMS qui me dit : a partir de quelle machine on a accedé a mon compte et a quelle heure ^^ cela fais 1 ans que j'utilise le système et je n'ai jamais reçus de spam SMS ni d'appel commercial
38  Divers / Informatique / Re : Question sur facebook le: 18 Février 2013 à 15:04:13
un bon pavé illisible, des compte fictif sur Facebook... Raconté de manière illisible et incompréhensible tu risque pas d'avoir beaucoup d'aide... Je vais essayer de décoder ton message et je verrai si je peut répondre a ton problème...

Enjoy,


Edit: Le fait qu'il te demande une confirmation par téléphone ne gène pas... Si il tu ne fais rien d'illégal avec ce compte pourquoi ne pas mettre ton numéro ? Ensuite dans les cyber-café je ne crois pas (bien que les cyber servent plus a du jeu en ligne plutot que du facebook...) Si le cyber est bien conçus il écrase toute tes traces pour te protéger...
39  Challenges / Aide Hacking / Re : Hacking - Script d'identification des admins. le: 15 Juin 2011 à 08:49:23
tien utilise plutôt celui la... Moi c'est celui que j'ai utilisé pour l'épreuve
https://addons.mozilla.org/en-us/firefox/addon/edit-cookies/
40  Programmation / Langages Web / Re : Inscription sur mon site le: 02 Janvier 2011 à 23:55:44
Je cité les bases et les plus connus 
41  Programmation / Langages Web / Re : Inscription sur mon site le: 02 Janvier 2011 à 21:38:01
créé un système de session uniquement en html?? Impossible pour sa c'est PHP et MySQL minimum...En plus html c'est un peu dépassé...PHP est bien plus puissant et permet de faire beaucoup plus de chose que HTML (même HTML5 ne vaux pas PHP5)
42  Général / Sondage pour le site / Re : Quel age avez vous ? le: 26 Décembre 2010 à 02:49:22
17...2 ans que j'ai plongé dans l'informatique mais c'est lovenunu qui m'a fait découvrir ce fabuleux site il y a 5 mois 
43  Général / Defouloir / Re : Des vrais hackers ! le: 26 Décembre 2010 à 02:47:15
Mmmmm c'est incurable...Moi j'abandonne le topic....
44  Général / Defouloir / Re : Re : Des vrais hackers ! le: 24 Décembre 2010 à 14:58:47
Citation
>Mais bon, comme vous êtes paranoïaque, regardez l'adresse IP de www.toutes-les-solutions.fr et regardez l'adresse IP d'enregistrement du pseudo

Oui c'est vrai une IP n'est absolument pas falsifiable c'est bien connu
Citation
>FRANCKY IV sur votre forum ... Comme par hazard, c'est le même ...
Comme le monde peut être petit...Et puis le hasard a des limites "comme par hasard c'est le même"ou un fake

Citation
C'est étrange, mais cette phrase n'a été cité par personne ...
C'est bon t'es content...

Comme l'a dit The Isd t'a une chance de pouvoir faire t'es preuves ici...Crackme,hacking,crypto et ben d'autre encore...Prouve-nous qu'on à tord...



45  Général / Defouloir / Re : Des vrais hackers ! le: 24 Décembre 2010 à 11:28:20
Citation
je m'amusais à vérifier une théorie qui était qu'en connaissant le nom précis de quelqu'un, je peux en savoir énormément sur lui.
Welcome to World Wide Web 2.0
Citation
je m'amusais à écrire le nom exact de personnes que je connais et au 3/4 des fois, j'attérissais sur leur page facebook, avec des banalités sur leur vie.
En même temps c'est pas dur 3/4 des gens ne sécurise pas leur facebook...
Citation
je me suis amusé à taper "FRANCKY IV" et il faut dire que je ne suis tombé sur ce topic après plusieurs pages du moteur de recherche.
Ha la magie de google...

Au final c'est amusant internet...
Pages: 1 2 [3] 4 5