在angularjs和symfony2中实现身份验证的最佳方法是什么?

时间:2014-01-15 05:35:50

标签: angularjs symfony authentication

我正在尝试使用symfony2为服务器端编写应用程序,并为客户端编写angularjs。服务器和客户端之间的所有通信都使用REST api完成。 在此系统中验证用户身份的最佳方法是什么?

1 个答案:

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