我正在开发一个symfony4 webapp。用户帐户存储在可通过API访问的数据库中。
我希望实现此UserProviderInterface,因为advised by the symfony4 documentation使用symfony4安全模块功能。
如果我理解,实现此接口需要API(或服务或db ...)返回将由symfony security检查的数据(例如散列密码/ salt)。
有没有办法在不从用户提供商处获取此类数据的情况下使用symfony安全模块?
例如,将用户以登录形式输入的用户名和密码发送到api,这将检查它是否正确并返回一个bool?
答案 0 :(得分:1)
您可以实施自己的 Guard Authenticator 来手动执行身份验证检查。
文档章节中描述了一个很好的示例实现:
How to Create a Custom Authentication System with Guard
示例配置如下所示:
SELECT LEFT(physical_name, 1) AS drive,
CAST(SUM(io_stall_read_ms) /
(1.0 + SUM(num_of_reads)) AS NUMERIC(10,1))
AS 'avg_read_disk_latency_ms',
CAST(SUM(io_stall_write_ms) /
(1.0 + SUM(num_of_writes) ) AS NUMERIC(10,1))
AS 'avg_write_disk_latency_ms',
CAST((SUM(io_stall)) /
(1.0 + SUM(num_of_reads + num_of_writes)) AS NUMERIC(10,1))
AS 'avg_disk_latency_ms'
FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs
JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id
AND mf.file_id = divfs.file_id
GROUP BY LEFT(physical_name, 1)
ORDER BY avg_disk_latency_ms DESC;