使用Symfony2进行Kerberos身份验证

时间:2013-11-22 14:56:12

标签: symfony kerberos

我正在尝试使用Symfony2中的kerberos对用户进行身份验证,但我在途中有点迷失。

当用户通过身份验证时,Apache服务器会返回$ _SERVER ['REMOTE_USER']变量,并为其提供用户名。我可以恢复这个值:

$request = Request::createFromGlobals();
$user = $request->server->get('REMOTE_USER');

但是如何告诉Symfony只使用此值对用户进行身份验证?无需密码。

我在创建custom authentication provider或创建custom use provider

之间犹豫不决

请问最好的方法是什么?

1 个答案:

答案 0 :(得分:5)

为安全防火墙添加了基于REMOTE_USER的侦听器

多个Apache安全模块(auth_kerb,auth_cas等)通过名为REMOTE_USER的环境变量提供用户名。因此,Symfony 2.6将包含一个基于此变量的新身份验证侦听器。

要在您的应用程序中使用它,只需在安全配置中定义新remote_user类型的防火墙:

# app/config/security.yml
security:
    firewalls:
        secured_area:
            pattern: ^/
            remote_user:
                provider: your_user_provider

来源:http://symfony.com/blog/new-in-symfony-2-6-security-component-improvements