gpt4 book ai didi

authentication - 如何为 Mantis - LDAP 和数据库用户设置双重身份验证?

转载 作者:行者123 更新时间:2023-12-04 15:43:35 28 4
gpt4 key购买 nike

我们有一个 MantisBT 实例,我们设法设置了 LDAP 身份验证,但我们还需要启用基于 Mantis 用户的身份验证(对于某些用户,与 LDAP 分开)非常类似于 this question用于 ruby 。

不幸的是,您似乎可以轻松地将 Mantis 设置为通过 LDAP 或通过其用户进行身份验证,但同时启用这两种身份验证协议(protocol)是有问题的。你有什么建议吗?

最佳答案

查看 source code ,在实际执行身份验证的函数 auth_does_password_match() 中:

function auth_does_password_match( $p_user_id, $p_test_password ) {
$t_configured_login_method = config_get_global( 'login_method' );

if ( LDAP == $t_configured_login_method ) {
return ldap_authenticate( $p_user_id, $p_test_password );
}

# code continues with a try for each of the other authentication methods
# ...
}

第一个条件测试登录方法 $t_configured_login_method 并且如果它是“LDAP”则尝试进行相应的身份验证。好的,这里没有什么疯狂的,但是语句 return ldap_authenticate(...); 不允许其他身份验证方法。

希望补丁不是什么大问题,这样如果 LDAP 身份验证失败,它可以回退到其他身份验证方法。

基本上,如果 LDAP 身份验证成功,它需要 ldap_authenticate() 的返回值返回,否则则不会,这样代码可以继续尝试其他身份验证方法。第一个条件看起来像这样:

    if (LDAP == $t_configured_login_method && ldap_authenticate($p_user_id, $p_test_password)) {
return TRUE;
}

为了使事情正常进行,您可以为 t_configured_login_method 创建自己的常量,这样您就可以添加自己的逻辑并且不会干扰其他身份验证方法。

关于authentication - 如何为 Mantis - LDAP 和数据库用户设置双重身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56851998/

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