gpt4 book ai didi

php - 哪个Active Directory的属性对应PHP中ldap_bind函数的 "bind_password"参数

转载 作者:行者123 更新时间:2023-12-04 10:08:16 24 4
gpt4 key购买 nike

我正在创建一个 API,用于通过 Active Directory 进行注册和身份验证。

注册时,我使用“userPassword”字段来存储密码。

$user = new User([
'cn' => $full_name,
'userPassword' => $password,
'samaccountname' => $username,
'mail' => $email
]);

$user->inside(config('ldap.connections.default.base_dn'));

$user->save();

注册工作正常。
但是在身份验证时,Active Directory 无法识别提供的密码:
$user = User::where('samaccountname', '=', $username)->firstOrFail(); // all is good here. print_r($user) shows user details

if (Container::getDefaultConnection()->auth()->attempt($user['distinguishedname'], $password)) {

// returns a response to the user
return \response()->json(
new UserResource($user), 200
);

} else {

return \response()->json(
[
'message' => 'invalid credentials or user not exists.'
], 403
);
}

有人能帮我吗。

最佳答案

使用普通存储的密码是行不通的,需要进行一些编码,但有一个 mutator unicodePwd那将为您处理。尝试

$user = new User([
'cn' => $full_name,
'unicodePwd ' => $password,
'samaccountname' => $username,
'mail' => $email
]);

关于php - 哪个Active Directory的属性对应PHP中ldap_bind函数的 "bind_password"参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61462330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com