我正在尝试使用symfony2为服务器端编写应用程序,并为客户端编写angularjs。服务器和客户端之间的所有通信都使用REST api完成。 在此系统中验证用户身份的最佳方法是什么?
答案 0 :(得分:1)
您可以使用经典的HTTP / REST身份验证架构,如OAUTH2,HTTP基本身份验证。这取决于您的应用程序安全级别。 基本的auth非常简单,你必须实现security.yml防火墙:
secured_api:
pattern: ^/api/*
stateless: true
anonymous: false
http_basic:
provider: in_memory
在此示例中,我设置了一个简单的in_memory提供程序,但您可以使用应用程序中定义的任何提供程序或自定义提供程序。
in_memory:
memory:
users:
stupid_user: { password: myname ,roles: 'ROLE_USER' }
sly_user: { password: secret, roles: 'ROLE_USER }
现在您可以使用cURL检查路线:
curl -v --basic -u“stupid_user:myname”-X POST -H“Content-Type:application / json”-d @ request.json www.domainname.com/api/aroute
(上述请求是以json作为数据交换格式的POST)