如何更改身份验证错误消息?

Dhia Djobbi

当用户尝试使用错误的用户名/密码登录时,将显示错误消息“无效的凭据”!

如何更改getLastAuthenticationError()错误消息!

例如!而不是“无效的凭据”,我希望它是“错误消息123”

控制器代码:

/**
 * @Route("/login",name="security_login")
 */
public function login(AuthenticationUtils  $authenticationUtils)
{
     // get the login error if there is one
$error = $authenticationUtils->getLastAuthenticationError();


// last username entered by the user
$lastUsername = $authenticationUtils->getLastUsername();

    return $this->render('123/login.html.twig',[
        'lastUsername'=>$lastUsername,
        'error' => $error]);
}

安全代码.yaml

security:
    encoders:
        App\Entity\User:
            algorithm: bcrypt

    # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
    providers:
        in_memory: { memory: null }
        in_database:
            entity: 
                class: App\Entity\User  
                property: username
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            anonymous: lazy
            provider: in_database
            form_login: 
                login_path: security_login
                check_path: security_login

            logout:
                path:   security_logout
                target: user_index

视图的代码:

{% if error %}
    <div>{{ error.messageKey|trans(error.messageData, 'security') }}</div>
{% endif %}

<form action="{{ path('security_login') }}" method="post">
    <div class="form-group">
        <input placeholder="username" requied name="_username" value ="{{lastUsername}}"
         type="text" class="form-control">
    </div>
    <div class="form-group">
        <input placeholder="Mode de passe..." requied name="_password"
         type="password" class="form-control">
    </div>
     <div class="form-group">
       <button type="submit" class="btn btn-success">Connexion</button>
    </div>
</form>
德鲁曼

您可以使用自定义转换,也可以在抛出CustomUserMessageAuthenticationException的地方构建自己的身份验证器。

要翻译邮件,您可以查看原始翻译文件以供参考。在您的translations /文件夹中,仅添加security.en.yaml,然后可以覆盖以下消息:

# translations/security.en.yaml
'Invalid credentials.': 'Your username or password are invalid.'

对于CustomUserMessageException,请查看如何构建登录表单上的docs页面步骤3显示如何编写GuardAuthenticator,还显示如何使用自定义异常:

public function getUser($credentials, UserProviderInterface $userProvider)
{
    $token = new CsrfToken('authenticate', $credentials['csrf_token']);
    if (!$this->csrfTokenManager->isTokenValid($token)) {
        throw new InvalidCsrfTokenException();
    }

    $user = $this->entityManager->getRepository(User::class)->findOneBy(['email' => $credentials['email']]);

    if (!$user) {
        // fail authentication with a custom error
        throw new CustomUserMessageAuthenticationException('Email could not be found.');
    }

    return $user;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更改来自Policykit身份验证代理的消息?

来自分类Dev

如何更改用户身份验证标语消息?

来自分类Dev

Django,自定义身份验证登录。身份验证失败时如何显示错误消息?

来自分类Dev

如何更改身份验证MongoDB 3.2

来自分类Dev

如何自定义Django rest框架中的[未提供身份验证凭据]错误消息

来自分类Dev

创建Firebase身份验证的自定义错误消息

来自分类Dev

如何使用Node通过摘要身份验证发布消息?

来自分类Dev

如何从Logwatch中排除proftp身份验证失败消息?

来自分类Dev

如何使用Node通过摘要身份验证发布消息?

来自分类Dev

用户身份验证错误

来自分类Dev

Twilio身份验证错误

来自分类Dev

RFacebook身份验证错误

来自分类Dev

递归身份验证错误

来自分类Dev

IIS身份验证错误

来自分类Dev

Javafx:身份验证错误

来自分类Dev

如何在Twitter API上更改身份验证类型

来自分类Dev

如何为Azure AD身份验证更改默认URL

来自分类Dev

如何在Laravel中更改身份验证模型

来自分类Dev

如何更改Azure功能的身份验证级别并保护它?

来自分类Dev

如何更改基于用户身份验证扩展的模板

来自分类Dev

如何重置或更改IntelliJ进行身份验证的Git用户?

来自分类Dev

FireBase身份验证身份验证状态已更改

来自分类Dev

如何更改Laravel验证错误消息

来自分类Dev

如何更改默认验证错误消息?

来自分类Dev

WCF身份验证-验证消息的安全性时发生错误

来自分类Dev

如何在Silex中捕获身份验证错误?

来自分类Dev

如何处理Firebase身份验证错误?/迅捷/ Firebase

来自分类Dev

您如何使用 JavaMail API 侦听身份验证错误?

来自分类Dev

如何翻译 Firebase 身份验证中的错误代码?

Related 相关文章

热门标签

归档