My platform is basically debian sarge + heimdal gssapi, but I have exactly
the same problem.

I have a way to solve the issue, but it is not valid for any kind of
production site. Just add in your php code this

copy(substr($_SERVER['KRB5CCNAME'],5),"/tmp/krb5cc_0");

and you'll get a real bind (you see the ldap ticket with klist). I think
that I must use the uid 0 for the credential cache because my apache master
process is owned by root. If it did start with a different user, you
probably need to change the '_0'.

If you don't expect heavy usage and don't care about  run conditions, you
might use it as is. I might recommend some basic existence checks to avoid
collisions and possible impersonation (In my case, different users have
different persmissions on the ldap tree), but I believe it will not scale in
any sensible manner.

I'm afraid that this is due to the fact that mod-php (and php-ldap) is
loaded during initialization, and looks like the credential cache value is
either frozen or not taken from environment.

I've tried to use putenv and apache_setenv, as well as manually fix $_ENV
with no success, but I'm unsure if any of them have the same effect than
export a shell variable, which is what is actually expect.




-- 
View this message in context: 
http://www.nabble.com/PHP%27s-ldap_sasl_bind-tries-to-authenticate-with-KRB5CCNAME-other-than-the-one-provided-by-mod_auth_kerb-tf3681101.html#a10323750
Sent from the PHP - General mailing list archive at Nabble.com.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to