Php 检查密码是否与symfony 4相同
我想允许用户从个人空间更改密码。为此,他必须连接,所以要知道他的密码。 必须按照以下步骤更改are密码:Php 检查密码是否与symfony 4相同,php,symfony,passwords,change-password,Php,Symfony,Passwords,Change Password,我想允许用户从个人空间更改密码。为此,他必须连接,所以要知道他的密码。 必须按照以下步骤更改are密码: 输入旧密码 输入新密码并确认 除了我有一个我根本不明白的问题。我无法通过密码比较步骤。 我检查输入的旧密码是否与数据库中的密码不同,如果是,我会发送一个错误。否则,我会将新密码发送到数据库 你觉得怎么样?这是正确的方法吗 我的控制器 我的实体 实际上,我们必须从PHP7.2转到7.3。在Symfny 4.3.2中,密码加密是自动完成的。它选择了目前最常用和最安全的加密算法,但要使其正常工
- 输入旧密码
- 输入新密码并确认
除了我有一个我根本不明白的问题。我无法通过密码比较步骤。 我检查输入的旧密码是否与数据库中的密码不同,如果是,我会发送一个错误。否则,我会将新密码发送到数据库 你觉得怎么样?这是正确的方法吗 我的控制器 我的实体
实际上,我们必须从
PHP7.2
转到7.3。
在Symfny 4.3.2
中,密码加密是自动完成的。它选择了目前最常用和最安全的加密算法,但要使其正常工作,您必须更新php
如果你使用docker,你必须这样做
FROM php:7.3-fpm
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
&& docker-php-ext-install -j$(nproc) iconv \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
不要忘记mysqli扩展
RUN docker-php-ext-install mysqli pdo pdo_mysql
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd
“除了我有一个我根本不明白的问题”。这是什么?尝试使用而不是密码\u验证并检查最近的密码。
security:
role_hierarchy:
ROLE_PRO: ROLE_USER
ROLE_ADMIN: [ROLE_USER, ROLE_PRO]
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
encoders:
App\Entity\User:
algorithm: auto
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
in_memory: { memory: ~ }
in_database:
entity:
class: App\Entity\User
property: email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: true
remember_me:
secret: '%kernel.secret%'
lifetime: 604800 # 1 week in seconds
path: /
provider: in_database
form_login:
login_path: account_login
check_path: account_login
default_target_path: account_index
logout:
path: account_logout
target: account_login
# activate different ways to authenticate
# https://symfony.com/doc/current/security.html#firewalls-authentication
# https://symfony.com/doc/current/security/impersonating_user.html
# switch_user: true
# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
access_control:
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/account, roles: ROLE_USER }
# - { path: ^/profile, roles: ROLE_ADMIN }
FROM php:7.3-fpm
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
&& docker-php-ext-install -j$(nproc) iconv \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
RUN docker-php-ext-install mysqli pdo pdo_mysql
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd