[horde] Horde authentication with IMP in a load-balanced environment
Vilius Sumskas/LNK
vilius at lnk.lt
Tue Mar 31 07:15:05 UTC 2015
> On 03/30/2015 06:08 PM, Vilius Sumskas/LNK wrote:
> > Hi,
> >
> >> Hi all, we are having difficulty working around our unique setup to
> >> authenticate with IMP and I wonder if one of the developers could
point
> >> us in the right direction to fix this. My apologies in advance, I am
> >> NOT an experienced PHP programmer and am a bit hazy on variable
scopes
> >> and I believe that is a BIG part of my problem below.
> >>
> >> We are running the Latest Debian, Cyrus IMAP, and Horde 5.2.1 and Imp
> >> 6.2.2 with LDAP for user credentials. We are currently
authenticating
> >> using Horde and LDAP, but we would like the opening app to be IMP and
to
> >
> >> do that we need to authenticate with IMP.
> >
> > Not necessarilly. Is your LDAP username/password the same as for IMAP?
If
> > yes, just set 'hordeauth' in $servers array to 'true' or 'full'. Also
set
> > your 'initial_app' preference in Horde preferences.
> >
> >> The tricky part happens because we have a load balanced cluster of
web
> >> servers, each server supporting a block of our IMAP accounts. So I
> >> might log into web server A and my IMAP is on server B. So we have
to
> >> make sure the IMAP hostname is set correctly in order to fetch mail.
> >>
> >> When we are using Horde auth with LDAP this is easily handled in
> >> imp/backends.local.php. Just grab the auth credentials, do a quick
LDAP
> >
> >> guery to get the IMAP server name and then set up the advanced IMAP
> >> server hostname in $servers['advanced']['hostspec']
> >>
> >> However, if I switch Horde to authenticate using IMP, then
> >> imp/backends.local.php does NOT have the authenticated username &
> >> credentials, so it can't query LDAP to get the hostname.
> >>
> >> I thought I could get around this by using imp/hooks.local.php
> >> preauthenticate (since it DOES have access to the un-authenticated
> >> username and credentials and I was able to use that to query LDAP to
set
> >
> >> $credentials['server']), BUT I have been unable to figure out how to
set
> >
> >> the IMAP $servers['advanced'] array from imp/hooks.local.php.
> >>
> >> So I am unable to set up the proper IMAP server when trying to
> >> authenticate with IMP...
> >>
> >> Can anyone give me the answer to one of these questions when
> >> authenticating Horde with IMP?
> >>
> >> 1. How can I access the unauthenticated username/password in
> >> imp/backends.local.php?
> >>
> >> OR
> >>
> >> 2. How can I access the the $servers['advanced'] array in
> >> imp/hooks.local.php
> >>
> >> OR
> >>
> >> 3. Am I going about this completely wrong and there is a better way
to
> >> set the IMP IMAP backend hostname when authenticating with IMP?
> >>
> >> Thank you for any help.
> >
>
> Vilius, thank you. The LDAP credentials are indeed the same as IMAP
> because our IMAP actually authenticates using LDAP through SASL. ;-)
>
> However, we already tried what you suggest (full horde auth with LDAP
> and initial_application = IMP) and were surprised that in oder to start
> with IMP we had to auth through IMP.
>
> Back on Jan 14/15 I brought that same issue up and got the answer below:
>
> ----- jan 14 snippet -----
> > 1. How do you configure Horde to switch immediately to Imp after
> > login? I have set Horde's prefs.local.php with
> >
> > $_prefs['initial_application']['value'] = 'imp';
> >
> > But all that seems to do is pre-select Imp in the user's Horde
Display
> > Preferences->Display Options->What application should FanMailPlus
> > display after login?
>
> No... that is the correct preference.
>
> Only thing I can think of is that you have an authentication backend
> other than "application" (imp) configured.
> ----- end jan 14 snippet -----
>
> The problem is in our set up where we need to set the correct IMAP
> server BEFORE authentication.
>
> When you authenticate through IMP, imp/backends.local.php appears to be
> called BEFORE authentication and I can not figure out how to access the
> 'raw' username and password credentials at that point.
>
> imp/hooks.local.php can see the 'raw' username and password, but it can
> not set the IMAP $servers['advanced'] array to set it up.
>
> Thanks again Vilius.
I had SQL authentication with fullauth directly to IMP for year and it
worked fine. You do not have to do IMP authentication to display IMP after
login. The same preference can display any other application which doesn't
have auth backend just fine, so it would be illogical that IMP behaves
differently. Unless something changed in recent Horde versions.
--
Vilius
-
More information about the horde
mailing list