我一直在使用symfony 3创建Web应用程序,并且我已经被要求添加额外的安全层。我需要在加载登录页面之前检查密钥(或令牌)。
我一直在阅读文档,但多数仅适用于登录页面。密钥(或令牌)由自定义背景应用程序提供,当用户尝试加载登录页面时,应用程序通过javascript传递密钥。
所以,我正在寻找一种方法来首先查找密钥,将其与存储在我的数据库中的密钥(可能是security.yml)进行比较。如果密钥匹配,则加载登录页面(此后不再需要密钥)。
有办法做到这一点吗?
修改
可选地,可能是有一种方法来获取密钥(通过javascript传递),然后不是连接到数据库,而是比较Twig中的密钥。那么,使用Twig获取密钥?
答案 0 :(得分:1)
考虑像这样的安全层,用户有像yubikey这样的硬件令牌。 https://www.yubico.com/start/
然后你安装像这样的包 https://github.com/pmdevelopment/yubikey-otp-bundle 并且您可以创建基于2FA硬件的安全层(您为youbikay auth提供服务 - 您可以随时根据需要对用户进行身份验证。
答案 1 :(得分:0)
如果我理解你的规格,你可以:
由于4通常是自动完成的,因此您必须通过监听器挂钩,或者只需将登录表单提交给控制器并“手动”登录用户。