问题:为什么我不能通过 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 显示没有问题。