Symfony2: Auth hjelp Doctrine2 enhet - passord satt til blank verdi etter lagring en enhet

stemmer
2

Jeg har truffet en blindvei her. Når jeg lagrer noen form for enhet i kontrolleren, blir passordet og salt til brukeren som er logget på blanket ut i databasen.

Dette er en relevant del av min sikkerhet konfigurasjon:

security:
    encoders:
        ISE\LoginBundle\Entity\User:
            algorithm: sha1
            iterations: 1
            encode_as_base64: false
    providers:
        main:
            entity:
                class: ISE\LoginBundle\Entity\User
                property: username

Dette er eraseCredentials metode for min bruker klasse. Jeg mistenker at på et tidspunkt denne metoden kalles, og deretter brukerobjektet blir lagret i databasen med disse endringene. Men jeg har ingen anelse om hvor det kan være:

class User implements UserInterface {
    // ...
    public function eraseCredentials() {
        $this->password = null;
        $this->salt = null;
    }
    // ...
}

Og dette er et eksempel på hvordan jeg lagrer en enhet i en av mine kontrollere, i dette tilfellet er det ProductController. Bare en påminnelse: Jeg er ikke manipulere brukerobjekt i min kode på noen måte:

public function createAction() {
    // ...
    if ($form->isValid()) {
        $em = $this->get('doctrine')->getEntityManager();
        $em->persist($product);
        $em->flush();
        return $this->redirect($this->generateUrl('product_create', array('created' => true)));
    }
    // ...
}

Jeg forventer ikke noe av denne koden for å slette brukerens passord eller salt i databasen, men akkurat det som skjer. Kan noen hjelpe meg slå koden min til underkastelse?

Publisert på 09/06/2011 klokken 07:07
kilden bruker
På andre språk...                            


1 svar

stemmer
5

Symfony har en forskjell mellom klartekst og hashed credetials. I "eraseCredentials" har du tenkt å slette all klarteksten informasjon, ikke hashed credetials som er lagret i databasen.

Svarte 09/06/2011 kl. 08:09
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more