使用Symfony2的Kerberos身份验证

使用Symfony2的Kerberos身份验证,symfony,kerberos,Symfony,Kerberos,我正在尝试使用Symfony2中的kerberos对用户进行身份验证,但在这过程中我有点迷路了 当用户通过身份验证时,Apache服务器返回$\u server['REMOTE\u user']变量,给我他的用户名。我可以恢复此值: $request = Request::createFromGlobals(); $user = $request->server->get('REMOTE_USER'); 但是,如何告诉Symfony仅使用此值对用户进行身份验证?不需要密码 我犹豫是

我正在尝试使用Symfony2中的kerberos对用户进行身份验证,但在这过程中我有点迷路了

当用户通过身份验证时,Apache服务器返回
$\u server['REMOTE\u user']
变量,给我他的用户名。我可以恢复此值:

$request = Request::createFromGlobals();
$user = $request->server->get('REMOTE_USER');
但是,如何告诉Symfony仅使用此值对用户进行身份验证?不需要密码

我犹豫是创建一个还是创建一个

最好的方法是什么?

在安全防火墙中添加了一个基于远程用户的侦听器 几个Apache安全模块(auth_kerb、auth_cas等)通过名为REMOTE_USER的环境变量提供用户名。因此,Symfony 2.6将包含一个基于此变量的新身份验证侦听器

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

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

来源:

自定义用户提供程序似乎不正确,因为该接口有getPassword()和getSalt()方法。自定义身份验证提供程序似乎是正确的,您所要做的就是空返回success(因为身份验证是预先发生的)。类似于类KerberosTicket扩展了AbstractToken,类KerberosClientProvider实现了AuthenticationProviderInterfaceOk谢谢,我将尝试这个方法。