我在使用UserAuthenticationProvider时遇到了问题。我正在使用 Doctrine 持久性,每次都收到Bad credentials
错误,即使用户有效。
数据库包含以下字段:用户名, 密码, 盐, *date_created*, *date_modified*在注册时填充得很好。
经过一番研究,我发现UserAuthenticationProvider
的checkAuthentication($user, $token);
失败了,Bad credentials error is thrown afterwards
.
路由.yml:
login:
path: /auth/login
defaults: { _controller: WebsiteStaticBundle:Auth:login }
check_login:
path: /auth/do_login
defaults: { _controller: WebsiteStaticBundle:Auth:doLogin }
security.yml:
security:
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
administrators:
entity: { class: AuthBundle:Account }
encoders:
API'AuthBundle'Entity'Account:
algorithm: sha1
iterations: 1
encode_as_base64: false
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/demo/secured/login$
security: false
secured_area:
pattern: ^/
anonymous: ~
form_login:
login_path: login
check_path: check_login
logout:
path: /logout
target: /
access_control:
- { path: ^/demo/secured/hello/admin/, roles: ROLE_ADMIN }
- { path: ^/restricted, roles: ROLE_ADMIN }
- { path: ^/dashboard, roles: ROLE_ADMIN }
和控制器:
...
public function loginAction()
{
$request = $this->getRequest();
$session = $request->getSession();
// get the login error if there is one
if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
$error = $request->attributes->get(
SecurityContext::AUTHENTICATION_ERROR
);
} else {
$error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
$session->remove(SecurityContext::AUTHENTICATION_ERROR);
}
$form = $this->createForm(new AccountType(), null, array(
));
return array(
'login_form' => $form->createView(),
'page_title' => 'Login',
// last username entered by the user
'last_username' => $session->get(SecurityContext::LAST_USERNAME),
'error' => $error,
);
}
和日志:
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ProfilerListener::onKernelRequest". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Bundle'FrameworkBundle'EventListener'SessionListener::onKernelRequest". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'FragmentListener::onKernelRequest". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'RouterListener::onKernelRequest". [] []
[2013-11-08 23:30:53] request.INFO: Matched route "check_login" (parameters: "_controller": "Website'StaticBundle'Controller'AuthController::doLoginAction", "_route": "check_login") [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'LocaleListener::onKernelRequest". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'Security'Http'Firewall::onKernelRequest". [] []
[2013-11-08 23:30:53] doctrine.DEBUG: SELECT a0_.account_id AS account_id0, a0_.username AS username1, a0_.password AS password2, a0_.salt AS salt3, a0_.date_created AS date_created4, a0_.date_modified AS date_modified5, a0_.status_id AS status_id6 FROM account a0_ WHERE a0_.username = ? ["alex"] []
[2013-11-08 23:30:53] security.INFO: Authentication request failed: Bad credentials [] []
[2013-11-08 23:30:53] security.DEBUG: Redirecting to login [] []
[2013-11-08 23:30:53] event.DEBUG: Listener "Symfony'Component'Security'Http'Firewall::onKernelRequest" stopped propagation of the event "kernel.request". [] []
[2013-11-08 23:30:53] event.DEBUG: Listener "Symfony'Bundle'AsseticBundle'EventListener'RequestListener::onKernelRequest" was not called for event "kernel.request". [] []
[2013-11-08 23:30:53] event.DEBUG: Listener "Symfony'Component'HttpKernel'EventListener'ErrorsLoggerListener::injectLogger" was not called for event "kernel.request". [] []
[2013-11-08 23:30:53] event.DEBUG: Listener "Symfony'Component'HttpKernel'EventListener'ErrorsLoggerListener::injectLogger" was not called for event "kernel.request". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'Security'Http'Firewall'ContextListener::onKernelResponse". [] []
[2013-11-08 23:30:53] security.DEBUG: Write SecurityContext in the session [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bridge'Monolog'Handler'FirePHPHandler::onKernelResponse". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bridge'Monolog'Handler'ChromePhpHandler::onKernelResponse". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'ResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'Security'Http'RememberMe'ResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.response" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'CacheListener::onKernelResponse". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'ProfilerListener::onKernelResponse". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bundle'WebProfilerBundle'EventListener'WebDebugToolbarListener::onKernelResponse". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'StreamedResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:53] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony'Bundle'SwiftmailerBundle'EventListener'EmailSenderListener::onKernelTerminate". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ProfilerListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Bundle'FrameworkBundle'EventListener'SessionListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'FragmentListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'RouterListener::onKernelRequest". [] []
[2013-11-08 23:30:54] request.INFO: Matched route "login" (parameters: "_controller": "Website'StaticBundle'Controller'AuthController::loginAction", "_route": "login") [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'LocaleListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'Security'Http'Firewall::onKernelRequest". [] []
[2013-11-08 23:30:54] security.INFO: Populated SecurityContext with an anonymous Token [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Bundle'AsseticBundle'EventListener'RequestListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ErrorsLoggerListener::injectLogger". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ErrorsLoggerListener::injectLogger". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Symfony'Bundle'FrameworkBundle'DataCollector'RouterDataCollector::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Acme'DemoBundle'EventListener'ControllerListener::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Symfony'Component'HttpKernel'DataCollector'RequestDataCollector::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'ControllerListener::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'ParamConverterListener::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'TemplateListener::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.view" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'TemplateListener::onKernelView". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ProfilerListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Bundle'FrameworkBundle'EventListener'SessionListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'FragmentListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'RouterListener::onKernelRequest". [] []
[2013-11-08 23:30:54] request.INFO: Matched route "navigation" (parameters: "_controller": "Website'StaticBundle'Controller'AuthController::navigationAction", "_route": "navigation") [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'LocaleListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'Security'Http'Firewall::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Bundle'AsseticBundle'EventListener'RequestListener::onKernelRequest". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ErrorsLoggerListener::injectLogger". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ErrorsLoggerListener::injectLogger". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Symfony'Bundle'FrameworkBundle'DataCollector'RouterDataCollector::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Acme'DemoBundle'EventListener'ControllerListener::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Symfony'Component'HttpKernel'DataCollector'RequestDataCollector::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'ControllerListener::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'ParamConverterListener::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.controller" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'TemplateListener::onKernelController". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.view" to listener "closure". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.view" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'TemplateListener::onKernelView". [] []
[2013-11-08 23:30:54] event.DEBUG: Listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'TemplateListener::onKernelView" stopped propagation of the event "kernel.view". [] []
[2013-11-08 23:30:54] event.DEBUG: Listener "closure" stopped propagation of the event "kernel.view". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'Security'Http'Firewall'ContextListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bridge'Monolog'Handler'FirePHPHandler::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bridge'Monolog'Handler'ChromePhpHandler::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'ResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'Security'Http'RememberMe'ResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'CacheListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'ProfilerListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bundle'WebProfilerBundle'EventListener'WebDebugToolbarListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'StreamedResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'TemplateListener::onKernelView" stopped propagation of the event "kernel.view". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'Security'Http'Firewall'ContextListener::onKernelResponse". [] []
[2013-11-08 23:30:54] security.DEBUG: Write SecurityContext in the session [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bridge'Monolog'Handler'FirePHPHandler::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bridge'Monolog'Handler'ChromePhpHandler::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'ResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'Security'Http'RememberMe'ResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'CacheListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'ProfilerListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bundle'WebProfilerBundle'EventListener'WebDebugToolbarListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'StreamedResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:54] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony'Bundle'SwiftmailerBundle'EventListener'EmailSenderListener::onKernelTerminate". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ProfilerListener::onKernelRequest". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Bundle'FrameworkBundle'EventListener'SessionListener::onKernelRequest". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'FragmentListener::onKernelRequest". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'RouterListener::onKernelRequest". [] []
[2013-11-08 23:30:56] request.INFO: Matched route "_wdt" (parameters: "_controller": "web_profiler.controller.profiler:toolbarAction", "token": "e51eae", "_route": "_wdt") [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'LocaleListener::onKernelRequest". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'Security'Http'Firewall::onKernelRequest". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Bundle'AsseticBundle'EventListener'RequestListener::onKernelRequest". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ErrorsLoggerListener::injectLogger". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'ErrorsLoggerListener::injectLogger". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.controller" to listener "Symfony'Bundle'FrameworkBundle'DataCollector'RouterDataCollector::onKernelController". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.controller" to listener "Acme'DemoBundle'EventListener'ControllerListener::onKernelController". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.controller" to listener "Symfony'Component'HttpKernel'DataCollector'RequestDataCollector::onKernelController". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.controller" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'ControllerListener::onKernelController". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.controller" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'ParamConverterListener::onKernelController". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.controller" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'TemplateListener::onKernelController". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bridge'Monolog'Handler'FirePHPHandler::onKernelResponse". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bridge'Monolog'Handler'ChromePhpHandler::onKernelResponse". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'ResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'Security'Http'RememberMe'ResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.response" to listener "Sensio'Bundle'FrameworkExtraBundle'EventListener'CacheListener::onKernelResponse". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'ProfilerListener::onKernelResponse". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Bundle'WebProfilerBundle'EventListener'WebDebugToolbarListener::onKernelResponse". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.response" to listener "Symfony'Component'HttpKernel'EventListener'StreamedResponseListener::onKernelResponse". [] []
[2013-11-08 23:30:56] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony'Bundle'SwiftmailerBundle'EventListener'EmailSenderListener::onKernelTerminate". [] []
处理注册的操作:
...
if ($form->isValid()) {
$data = $form->getData();
/**
* Account
*/
$account->setUsername($data->getAccount()->getUsername());
// Password
$factory = $this->get('security.encoder_factory');
$encoder = $factory->getEncoder($account);
$password = $encoder->encodePassword($data->getAccount()->getPassword(), $account->getSalt());
$account->setPassword($password);
$account->setSalt($data->getAccount()->getSalt());
$now = new 'DateTime('now');
$account->setDateCreated($now);
$account->setDateModified($now);
/**
* Consumer account
*/
$consumerAccount->setAccount($account);
$consumerAccount->setFirstName($data->getFirstName());
$consumerAccount->setLastName($data->getLastName());
$consumerAccount->setGender($data->getGender());
$em = $this->getDoctrine()->getManager();
$em->persist($account);
$em->persist($consumerAccount);
$em->flush();
$this->get('session')->getFlashBag()->add(
'notice',
'Successfully registered!'
);
return $this->redirect($this->generateUrl('login'));
}
查询很好,用户按预期提取,所以我认为问题不在于实际的帐户实体,而很可能出在配置中。
任何帮助将不胜感激。谢谢。
[2013-11-08 23:30:53] doctrine.DEBUG: SELECT a0_.account_id AS account_id0, a0_.username AS username1, a0_.password AS password2, a0_.salt AS salt3, a0_.date_created AS date_created4, a0_.date_modified AS date_modified5, a0_.status_id AS status_id6 FROM account a0_ WHERE a0_.username = ? ["alex"] []
[2013-11-08 23:30:53] security.INFO: Authentication request failed: Bad credentials [] []
应检查此查询是否返回结果(使用探查器)。如果是这样,则Bad credentials
意味着输入的密码不正确,或者更有可能的是,存储在数据库中的加密版本不是您认为的那样。
请确保使用配置的编码器对用户密码进行编码:
$factory = $this->get('security.encoder_factory');
$user = new Acme'UserBundle'Entity'User();
$encoder = $factory->getEncoder($user);
$password = $encoder->encodePassword('ryanpass', $user->getSalt());
$user->setPassword($password);
解决此问题后,您仍然可能无法登录到"安全区域"。这是因为您的登录表单/页面和"安全区域"使用不同的防火墙。您已登录到一个防火墙,但未登录到另一个防火墙。
尝试删除防火墙login
,并将其添加到access_control
:
- { path: ^/demo/secured/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
更新
您可以在配置中将hide_user_not_found
设置为security
下的false
,以使提供程序引发有意义的异常。您将更好地了解出了什么问题。
如果问题确实出在密码上,你应该从这里开始调试 DaoAuthenticationProvider。转储它正在比较的密码,看看到底发生了什么。