Darren Fulton wrote:
Hello,
The web calendar is "Web Calendar" ( http://www.k5n.us/webcalendar.php )
and I'm currently authenticating using http basic auth, over SSL using
mod_ldap in Apache. User authenticates as jjones and if there is a
webcal user by the name of jjones, it pulls up his calendar. My only
problem was that jjones (in this case) doesn't have a calendar, but user
james does. I wanted it to recognize that jjones was james and it would
pull up the calendar.
Adding a second User ID for that user doesn't seem to accomplish my goal
in this case, by may help out in the future. Thanks for the help.
Darren
OK - sounds like the calendar server is using the uid you log in as as
an index to find the calendar database for that user. So, even if it
lets you log in as jjones, it is looking for a jjones cal, not a james
calendar. I think this is an application issue, rather than an LDAP
one. I.e., the cal sees jjones trying to log in, auths jjones, then
uses jjones (rather than anything returned from ldap) to find the calendar.
Since that calendar server is written in PHP, you could "fix" it to meet
your needs. Something like the following:
1. Create a new attribute (say, calUID) in your ldap schema.
2. Create a webcalendar objectclass and make calUID a required attribute.
3. Set the calUID to be the name associated with the calendar (i.e.
"james"). Set uid to be the username you want them to log in as (say
jjones). For new users, this can be the same (i.e. jsmith for both).
4. Find out where in the calendar PHP code it authenticates users.
Hopefully it will be trivial to do the following:
a. Change the filter from (uid=xxx) to (|(uid=xxx)(caluid=xxx)),
where xxx is whatever they entered at the login as their uid.
b. Where ever it returns a successful login, set whatever is
holding the users username/cal name to the value in caluid.
You could actually make caluid optional instead of required, and just
set the calendar to the value in caluid if it exists, or uid if not.
I haven't looked at the code for this cal server, but something like the
above might do what you want - a lot depends on how that cal server is
coded, etc, but hopefully you can hack something like that together. In
any case, I don't think anything on the LDAP side will fix it.
- Jeff
--
Fedora-directory-users mailing list
Fedora-directory-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-users