您好我通过日志记录表单遇到symfony 2.6身份验证问题。我已按照Symfony文档执行此操作。
我的问题是,当我尝试登录我的应用程序时,但我没有根据分析器进行身份验证。
在我的日志中我发现了这个:
[2015-02-18 20:44:33] security.INFO:用户" zouhair@speeddev.com"具有 已成功验证[] [] ... 2015-02-18 20:57:28] request.INFO:匹配路由" speed_dev_myprojects_homepage" (参数:" _controller": " SpeedDev \ MyprojectsBundle \控制器\ DefaultController ::的indexAction&#34 ;, " _route":" speed_dev_myprojects_homepage")[] [] [2015-02-18 20:57:28] security.DEBUG:从session [] []中读取SecurityContext [2015-02-18 20:57:28] security.DEBUG:检查安全上下文令牌: UsernamePasswordToken(user ="",authenticated = true,roles =" ROLE_MOE") [] []
我不知道为什么
没有_username值这是我的loginAction:
namespace SpeedDev\MyprojectsBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\SecurityContext;
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
use SpeedDev\MyprojectsBundle\Entity\Employee;
class SecurityController extends Controller {
public function loginAction() {
$this->get('security.token_storage')->setToken($token);
$helper = $this->get('security.authentication_utils');
return $this->render('SpeedDevMyprojectsBundle:Security:login.html.twig', array(
'last_username' => $helper->getLastUsername(),
'error' => $helper->getLastAuthenticationError(),
));
}
}
这是我的security.yml文件:
firewalls:
dev:
pattern: ^/(_(profiler|wdt|error)|css|images|js)/
security: false
main_login:
pattern: ^/login$
anonymous: true
secured_area:
pattern: ^/
remote_user:
provider: chain_provider
wsse: true
anonymous: false
form_login:
login_path: login
check_path: login_check
# par défaut, le formulaire de login *doit* être un POST,
# et pas un GET
post_only: true
remember_me: true
# options de redirection lorsque le login a réussi (vous
# pouvez en lire plus ci-dessous)
always_use_default_target_path: false
default_target_path: speed_dev_myprojects_homepage
target_path_parameter: _target_path
use_referer: false
# options de redirection lorsque le login échoue (vous
# pouvez en lire plus ci-dessous)
# failure_path: login_failure
# failure_forward: false
# noms des champs pour le nom d'utilisateur et le mot
# de passe
username_parameter: _username
password_parameter: _password
# options du token csrf
csrf_parameter: _csrf_token
intention: authenticate
require_previous_session: true
remember_me:
key: "%secret%"
lifetime: 31536000 # 365 jours en secondes
path: /
domain: ~ # Prend la valeur par défaut du domaine courant depuis $_SERVER
logout:
path: logout
target: speed_dev_myprojects_homepage
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/, roles: ROLE_MOE }