Jim,
Not sure how much help my comments will be but this is how I would attack what I perceive your challenge to be:
1. Go with LDAP (or perhaps just a database) as a central user/group backend. Connect as many of the applications/apps to LDAP as possible.
2. Build routines to export LDAP user data to apps that cannot natively use LDAP for authentication.
3. Be sure to limit the ability to update user data from the systems that are not the "master" location.
4. If LDAP isn't going to be used identify which system will be considered the "master" system and start with #2 to export the data to the other systems.
Things to consider:
1. User/group creation/deletion/modification - these are circumstances that will need to trigger updates to systems that don't directly use the master location.
2. Are you looking for single sign on - thats a totally different animal and will likely require a token server where a cookie will be checked against currently active session token and possibly other information, etc... Each app will likely need work to integrate.
3. Does the target unix platform support ACLs? Its a much more complicated method of permissions for files and directories, but will likely mesh better with application groups where each group is a sub/superset of another.
4. Does disabling an account need to equate to an immediate denial of access (through currently active sessions?) this can be tricky and a royal pain.
5. How do you handle failed user/group synchronization attempts? Do you roll all systems back or try to push the changes through again?
If you can stray outside the realm of perl there are applications like Jitterbit that can wire together applications in various ways, but the learning curve may not be worth it when much can be done in perl as well.
As far as state of the art for mod_perl webapps goes, my vote is with Catalyst. Its an application server for perl that lets you trivially integrate things like svn, databases, http auth, ldap, Plucene, Mason and more. It covers session management as well as a mechanism for authentication via a plethora of means.
Hope my babble helps!
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.