Hi,
I'm looking for an easy way to integrate some web apps into drupal. Maybe the word integration isn't correct, but I want to use Drupal as the primary CMS. The other application aren't CMS but I want to access those through drupal by using drupal's authentication. So drupal is the primary portal with some links to other applications (also written in php). When the user clicks on that link, the webapps open and knows that access is granted or not by using drupal's authentication.
Is it possible to do this by using drupal users and sessions table?
All sites are on the same domain and can use the same database.
Maybe a central application that can deal with security between sites would be a nice and complicated project.
Thanks,
Chris
Comments
Authentication module
It's fairly simple to write a module that accepts input (ideally, XML via POST), authenticates, and returns yes/no and possibly profile information. Use the API; don't muck with tables directly.
Drupal easy
Drupal is going to be the easy part, your challenge will be to make all the other applications ask Drupal whether this user is ok or not. But you should be able to do it with less than 30 lines in each application, if you find the right place in the code. A good point to start is where the applications look for cookies that show whether a user is logged in or not.
Note that you should also thing about a single sign-out method, which could be as easy as having all applications go to site.com/logout.php when a user exits, and at that point reset cookies for all the applications, not just the one you just logged out of.
documentation?
We're looking to do the exact same thing. Is there any documentation on this? This seems like a pretty fundamental extensibility question.
If you are thinking of
If you are thinking of integrating another application into Drupal then you need the regular module handbook + the documentation of the application you are trying to pull in.
The latter is usually poor, most developers pay little attention to the export off data, import gets priority.