【发布时间】:2016-10-02 10:41:30
【问题描述】:
所以我走遍了很多论坛来解决我的问题,但不幸的是我找不到任何真正符合我担忧的东西。
我跟随 Alexander BACCO (tuto gestion utilisateurs) 的课程
身份验证“in_memory”工作正常没问题。
当我进入数据库时(没有 FOSUserBundle ,我不在这个阶段我在第 4 阶段)我收到一条错误消息“BadCredential”
我不明白的是,教义生成的 SQL 查询效果很好,因为当我在 SQL Developer 中运行它时,它会返回我的用户名和密码。不幸的是,app / log / dev.log 我有一行 Exception 我把你放在下面这样你就可以自己看到一切看起来都是正确的(当然不是,但看起来)并且这个异常很奇怪(我无法理解) .
[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"} []
我不知道还能说什么才能把所有的球带给我帮助,但无论如何我已经尽力了,我希望社区可以帮助我。
亲切
L-S
文件:用户.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;
}
}
文件: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 }
并完成 Oracle DB 的配置:parameters.yml
parameters:
database_driver: oci8
database_host: srvoracle
database_port: 1521
database_name: v11akanea.DOM
database_user: trt
database_service: true
database_password: ******
【问题讨论】:
-
欢迎来到 StackOverflow.com 请用英文提问,以便 StackOverflow 的用户能够理解并回答您的问题。
-
如果我可以编辑我的帖子,我会用英文写:D
标签: php oracle orm doctrine-orm symfony