如何在 Symfony4 中从数据库授权自定义用户
How to authorize custom user from db in Symfony4
我只需要授权自定义用户。没有任何来源、令牌等。我的数据库中有用户实体。
用户 class 已经配置 fos_user.yaml:
fos_user:
db_driver: orm
firewall_name: main
from_email:
address: '***@*******.**'
sender_name: '**.****.**'
user_class: App\Entity\User
可能吗?像
Authurizer::authorize($userEntity)
谢谢。
FOSUserBundle 的自定义命令是
fos:user:activate
fos:user:change-password
fos:user:create
fos:user:deactivate
fos:user:demote
fos:user:promote
没有你想直接授权的方式。
您可以在 symfony 中创建自定义命令,它接受用户名并对用户进行身份验证。这是创建这样一个命令的方法:https://symfony.com/doc/current/console.html
Symfony 中的授权完成令牌。要登录 Symfony 的世界,您需要设置一个令牌。
一个常见的用例是 "auto login" 注册后。
尤其是那个部分
$token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
$this->get('security.token_storage')->setToken($token);
但也要看看 symfony 的非个性化 => https://symfony.com/doc/current/security/impersonating_user.html
它基本上允许您在不填写表格和知道用户凭据的情况下切换用户
谢谢你们,伙计们!我在这里找到了解决方案!
How to programmatically login/authenticate a user?
抱歉错误或愚蠢的问题。
我只需要授权自定义用户。没有任何来源、令牌等。我的数据库中有用户实体。 用户 class 已经配置 fos_user.yaml:
fos_user:
db_driver: orm
firewall_name: main
from_email:
address: '***@*******.**'
sender_name: '**.****.**'
user_class: App\Entity\User
可能吗?像
Authurizer::authorize($userEntity)
谢谢。
FOSUserBundle 的自定义命令是
fos:user:activate
fos:user:change-password
fos:user:create
fos:user:deactivate
fos:user:demote
fos:user:promote
没有你想直接授权的方式。
您可以在 symfony 中创建自定义命令,它接受用户名并对用户进行身份验证。这是创建这样一个命令的方法:https://symfony.com/doc/current/console.html
Symfony 中的授权完成令牌。要登录 Symfony 的世界,您需要设置一个令牌。
一个常见的用例是 "auto login" 注册后。
尤其是那个部分
$token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
$this->get('security.token_storage')->setToken($token);
但也要看看 symfony 的非个性化 => https://symfony.com/doc/current/security/impersonating_user.html
它基本上允许您在不填写表格和知道用户凭据的情况下切换用户
谢谢你们,伙计们!我在这里找到了解决方案!
How to programmatically login/authenticate a user?
抱歉错误或愚蠢的问题。