当我尝试执行两个不同的用户登录路径时,我需要帮助来解决错误。我想知道如何使用两个提供程序来验证两种类型的用户(管理员/商品)。
当我在 security.yaml 中使用两个提供程序时,我在 Symfony 中的错误如下所示:
没有为“api”防火墙上的“guard”监听器明确配置提供者是不明确的,因为注册的提供者不止一个。
注意:我正在使用 JWT 身份验证。
我的文件 security.yaml:
security:
encoders:
App\Entity\User:
algorithm: argon2i
App\Entity\Merch:
algorithm: argon2i
providers:
users_provider:
name: users_provider
entity:
class: App\Entity\User
property: username
merchs_provider:
name: merchs_provider
entity:
class: App\Entity\Merch
property: codeMerch
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login_users:
pattern: ^/api/user/login
stateless: true
anonymous: true
provider: users_provider
context: my_context
json_login:
check_path: /api/user/login_check_user
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
login_merch:
pattern: ^/api/merch/login
stateless: true
anonymous: true
provider: merchs_provider
context: my_context
json_login:
check_path: /api/merch/login_check_merch
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
refresh: …Run Code Online (Sandbox Code Playgroud) 我们正在使用 Python(socket)开发一个项目“ByZantine Generals Problem”,我们设法在服务器和两个客户端(client1、client2)之间创建成功的连接。但我们不知道如何在两个客户端之间创建连接,有什么帮助吗?
服务器.py
import socket
host = '192.168.43.209' # Standard loopback interface address
(localhost)
port = 65432 # Port to listen on (non-privileged ports are > 1023)
serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serv.bind((host, port))
serv.listen(5)
while True:
conn, addr = serv.accept()
conn.send(b"Attack ")
data = conn.recv(4096)
if not data: break
print (data)
Run Code Online (Sandbox Code Playgroud)
客户端1.py
import socket
host = '192.168.43.209' # Standard loopback interface address
(localhost)
port = 65432 # Port to listen on (non-privileged ports are > 1023) …Run Code Online (Sandbox Code Playgroud)