0

问题:为什么我不能通过 Adldap 对已知注册用户进行身份验证,尽管能够在 laravel 5.2 上使用 Adldap 访问有关用户的信息?

我正在尝试在 laravel 5.2 上使用 Adldap 对大学的用户进行身份验证。我已经成功地使用管理员凭据连接到 ldap 服务器,甚至可以检索有关用户的信息。`

namespace App\Http\Controllers;

use Auth;
use Input;
use Adldap;

class AuthController extends Controller
{
    public function authenticate()
    {

        $username = Input::get('username');

        $password = Input::get('password');

        $authentic = Adldap::authenticate($username,$password);

        $userData = Adldap::users()->find($username);

        var_dump( $authentic );

        dd( $userData );

    }
}

`

当我尝试登录时,尽管密码正确,但转储 $authentic 会给我错误(我也转储它以检查)。但是,如果我转储 $userData 使用相同的用户名,我会得到大量(正确的)用户信息。使用我的用户名,如果我打开 $userData 对象,我可以看到我所在的电子邮件组、我的校园邮寄地址、我的工作头衔等。 转储变量。我对使用 ldap 很陌生,不太确定一切是如何工作的。此外,可能值得注意的是,尽管我是进行设置的人,但我对服务器没有太多访问权限。一切都在需要的基础上。

其中一个原因是 ldap 服务器负责处理任何密码散列。但是,由于我已连接但身份验证失败,可能是我需要对密码进行哈希处理吗?请详细解释任何解决方案。作为一名农业工程师,这一切都不是我的领域,但有时扩展是必要的。

没有错误。我在 wamp 和 logs/php_error 中(我假设这是 /var/log/debug 的等效本地版本)。此外, apache_error 显示没有问题。

4

2 回答 2

0

您最好在尝试登录时检查 /var/log/debug 中创建的消息。请将这些消息添加到此帖子中。

于 2016-03-29T03:25:25.883 回答
0

我没有“错误”。Ldap 服务器被简单地配置为接受用户的完整电子邮件地址,而不是我使用的他们的短 ID。

于 2016-03-29T14:57:08.423 回答