We’re about to embark on an effort to add external authentication to Manila. We have a Win32 DLL with a single function call,
check_password, that takes a username and password and returns an integer. Here is an outline of the tasks as best I can tell. If you know how to do any of these, or if I’m missing something important, please post a comment!
1. Locate the code that runs the login page.
2. Modify the password checking call in one Manila site so that it runs against our DLL instead of against Manila’s object database.
3. Modify password checking in all Manila sites to use the new code.
Once we’ve got the basics working, we can consider bloating it out…
4. Modify the user table giving it a “remote” flag so that we can distinguish between local vs. externally authenticated users.
5. Modify the code in #2 so that it checks the flag and makes the appropriate function call.
6. (Short-term optional) Modify or add a prefs page which lets the user toggle between local and remote authentication. This is to handle the case where we want to preserve the person’s weblog upon leaving or joining the organization running the external authenticator.