So reiste ich ausführlich Foren für eine Lösung für mein Problem, aber leider kann ich nichts finden, das wirklich mit meinen Sorgen übereinstimmen.Symfony3.0.6 (Symfony2.8 aussi) BadCredential
folgte ich den Kurs von Alexander BACCO (tuto gestion utilisateurs)
Authentifizierung "Memory-Work" funktioniert kein Problem.
Als ich in die Datenbank gehen (ohne FOSUserBundle, ich bin nicht in diesem Stadium ich im 4. bin) Ich erhalte eine Fehlermeldung „BadCredential“
Was ich nicht verstehe, ist, dass die SQL-Abfrage generiert durch Lehre funktioniert sehr gut, denn wenn ich es in SQL Developer ausführen, gibt es mir meinen Benutzer und mein Kennwort zurück. Leider habe ich in der App/log/dev.log eine Zeile Exception die ich unten setze damit du selbst sehen kannst, dass alles richtig aussieht (naja natürlich ist es nicht aber es scheint) und dass diese Ausnahme seltsam ist (unverständlich für mich) .
[2016-06-02 08:21:16] request.INFO: Matched route "login_check". {"route_parameters":{"_route":"login_check"},"request_uri":"http://localhost/Symfony/web/app_dev.php/login_check"} []
[2016-06-02 08:21:16] doctrine.DEBUG: SELECT a.* FROM (SELECT t0.id AS ID_1, t0.LOGIN AS LOGIN_2, t0.PASSWORD AS PASSWORD_3 FROM GTL_USERS t0 WHERE t0.LOGIN = ?) a WHERE ROWNUM <= 1 ["benoit"] []
[2016-06-02 08:21:17] security.INFO: Authentication request failed. {"exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\BadCredentialsException(code: 0): Bad credentials. at C:\\wamp\\www\\Symfony\\vendor\\symfony\\symfony\\src\\Symfony\\Component\\Security\\Core\\Authentication\\Provider\\UserAuthenticationProvider.php:73, Symfony\\Component\\Security\\Core\\Exception\\UsernameNotFoundException(code: 0): User \"benoit\" not found. at C:\\wamp\\www\\Symfony\\vendor\\symfony\\symfony\\src\\Symfony\\Bridge\\Doctrine\\Security\\User\\EntityUserProvider.php:61)"} []
[2016-06-02 08:21:17] security.DEBUG: Authentication failure, redirect triggered. {"failure_path":"login"} []
Ich weiß nicht, was sonst noch zu sagen, dass Sie die Kugeln alle zu bringen, um mir helfen, aber auf jeden Fall, dass ich mein Bestes tat, ich hoffe, die Gemeinde kann mir helfen.
herzlich
LS
Datei: User.php
<?php
namespace BO\UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* @ORM\Table(name="GTL_USERS")
* @ORM\Entity(repositoryClass="BO\UserBundle\Entity\UserRepository")
*/
class User implements UserInterface, \Serializable
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="LOGIN", type="string", length=50, unique=true)
*/
private $username;
/**
* @ORM\Column(name="PASSWORD", type="string", length=50)
*/
private $password;
public function __construct()
{
}
public function getUsername()
{
return $this->username;
}
public function getSalt()
{
// you *may* need a real salt depending on your encoder
// see section on salt below
return null;
}
public function getPassword()
{
return $this->password;
}
public function getRoles()
{
return array('ROLE_USER');
}
public function eraseCredentials()
{
}
/** @see \Serializable::serialize() */
public function serialize()
{
return serialize(array(
$this->id,
$this->username,
$this->password,
// see section on salt below
// $this->salt,
));
}
/** @see \Serializable::unserialize() */
public function unserialize($serialized)
{
list (
$this->id,
$this->username,
$this->password,
// see section on salt below
// $this->salt
) = unserialize($serialized);
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set username
*
* @param string $username
*
* @return User
*/
public function setUsername($username)
{
$this->username = $username;
return $this;
}
/**
* Set password
*
* @param string $password
*
* @return User
*/
public function setPassword($password)
{
$this->password = $password;
return $this;
}
}
Datei: security.yml
security:
encoders:
BO\UserBundle\Entity\User: plaintext
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
main:
entity:
class: BO\UserBundle\Entity\User
property: username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main_login:
pattern: ^/login$
anonymous: true
main:
pattern: ^/
anonymous: false
pattern: ^/
anonymous: true
provider: main
form_login:
login_path: login
check_path: login_check
logout:
path: logout
target: /
access_control:
#- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
und die Konfiguration der Oracle DB zu beenden: Parameter.
parameters:
database_driver: oci8
database_host: srvoracle
database_port: 1521
database_name: v11akanea.DOM
database_user: trt
database_service: true
database_password: ******
Willkommen bei StackOverflow.com Bitte stellen Sie Ihre Frage in Englisch, damit die Benutzer von StackOverflow Ihre Frage verstehen und beantworten können. – KhorneHoly
Wenn ich meinen Beitrag bearbeiten kann, werde ich auf Englisch schreiben: D –