The MU forums have moved to WordPress.org

Need help with CASifying MultiUser (10 posts)

  1. andrej1c
    Member
    Posted 17 years ago #

    A customer I'm setting up MultiUser for asked me to CASify it so that people don't have to remember yet another username and password. I haven't found a plugin or anything that would do this. Does anyone have any experience with this?

    For those don't know about CAS, read more here:
    http://en.wikipedia.org/wiki/Central_Authentication_Service

  2. drmike
    Member
    Posted 17 years ago #

    What type of database or sighon or whatever are they trying to get their logins to work against?

  3. andrej1c
    Member
    Posted 17 years ago #

    The haven't told me that. They said once I figure out how to get wpmu to authenticate against CAS, they'll give me the web address and the info I'll need. Do you think I should ask them for the info first and then tinker around?

  4. drmike
    Member
    Posted 17 years ago #

    Think of it like how we use the user table of WPMu to let folks log into a bbpress forum site. That's pretty much what CAS is. But without knowing what they're using or the format, there's little we can tell those folks. They might use some speciallized APi to do logins (if so, take a pass.) or they can do it via a sharing of the MySQL tables.

    Sort of like taking your car into the shop and saying to the mackcanic "There's something wrong with it. That's all you need to know. Fix it!"

  5. andrej1c
    Member
    Posted 17 years ago #

    I see what you're saying. I'll get more info and will be back within a couple of days.

  6. andrej1c
    Member
    Posted 17 years ago #

    They use http://esup-phpcas.sourceforge.net
    Supposedly this is all you need to CASify an application.

    // import phpCAS lib
    include_once('phpCAS/CAS.php');

    phpCAS::setDebug();

    // initialize phpCAS
    phpCAS::client(CAS_VERSION_2_0,'cas.theirserver.com',443,'cas');

    // force CAS authentication
    phpCAS::forceAuthentication();

    $userID = phpCAS::getUser();
    $userID = substr($userID,-6,6);

    The only thing is...how the heck do I make wordpressmu do this?

  7. andrej1c
    Member
    Posted 17 years ago #

    So I downloaded esup-phpcas into /wp-content/mu-plugins/ because it appears that the functions related to login (wp_login, get_userdatabylogin, etc) are in two places:

    1. /wp-includes/pluggable.php
    2. /wp-content/mu-plugins/pluggable.php

    The functions are defined in the first locations only if they haven't been defined in the second location first - by a plugin or something. So I am focusing on modifying the second file because it has higher preference (runs earlier in the sequence) and probably was intended for this purpose.

  8. andrej1c
    Member
    Posted 17 years ago #

    OK, nevermind, I got it working. I'll post about it soon.

  9. andrej1c
    Member
    Posted 17 years ago #

    I posted the documentation and code here:
    http://www.andrejciho.com/wordpress-mu/wpmu-cas-integration/

    (along with some other useful things such as the ability to create blogs that have different user names than their blog addresses, etc. I plan to add a bunch of other helpful stuff, so hang on)

  10. anjovis
    Member
    Posted 16 years ago #

    Hello, I followed andrej1c's instructions as best I could but I am getting Fatal error: Cannot redeclare wp_login() on the index-page...

    Must be related to wordpress updates since this tutorial was written a year ago.

    Anyone else got this working?

About this Topic

  • Started 17 years ago by andrej1c
  • Latest reply from anjovis