我正在创建一个应用程序,用户可以使用他们的移动设备从菜单中订购商品。要求是用户不需要帐户(用户名或密码)来访问服务。用户将通过其IP和MAC地址进行身份验证。
所以我的问题是如何在symfony中构建这种类型的身份验证?请记住,我仍然希望能够使用常规防火墙来保护网址,例如:
firewalls:
client_area:
pattern: ^/client
我搜索谷歌搜索这个问题的答案无济于事。
答案 0 :(得分:0)
要使用IP,您可以使用内置voters。该示例适用于黑名单,但您可以将其用于白名单。不需要进一步的身份验证,只需要有效的(指定的)IP。
必须在配置中指定列表,但您也可以动态生成该列表,从文件加载,从表中读取,...
如果你想同时使用IP和MAC地址,你必须自己做点什么。据我所知,Symfony2中没有内置设置。
答案 1 :(得分:0)
您可以通过编写新的身份验证提供程序来实现新的安全性。
请查看symfony.com上的这本食谱。这是一个关于创建自己的身份验证机制的非常有用的主题:
How to create a custom Authentication Provider
在该示例中,您看到他们使用HTTP X-WSSE标头进行身份验证。您可以编写自己的提供程序,通过IP或/和mac地址进行身份验证。