How can I create a User ID alias?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Fedora User Discussion]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Yosemite Photos]     [Linux Apps]     [Maemo Users]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux