symfony4 UserProviderInterface实现与api调用authentification

时间:2018-01-25 10:57:14

标签: symfony security

我正在开发一个symfony4 webapp。用户帐户存储在可通过API访问的数据库中。

我希望实现此UserProviderInterface,因为advised by the symfony4 documentation使用symfony4安全模块功能。

如果我理解,实现此接口需要API(或服务或db ...)返回将由symfony security检查的数据(例如散列密码/ salt)。

有没有办法在不从用户提供商处获取此类数据的情况下使用symfony安全模块?

例如,将用户以登录形式输入的用户名和密码发送到api,这将检查它是否正确并返回一个bool?

1 个答案:

答案 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;