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