
This is the basic options of the plugin.
If you’re happy with this plugin :
As a reward for my efforts, I would like to receive T-shirts (or other goodies) as gifts from the universities or companies that use it.
My size is L. Best regards.
This Apereo CAS authentication plugin has no phpCas library dependency. This is not only an authentication plugin.
You can build custom authorization rules according to cas user attributes populated. If user don’t exist in WordPress
database, it can be created automatically. There are many features. You can customize everything.
https://wpcassify.wordpress.com/
This plugin is now developed and tested from a github repository. You can find it here :
https://github.com/WP-Cassify/wp-cassify-develop
Don’t hesitate to contribute to this project. You can fork it and make pull requests !
Adding some customs hooks and filters.
Tested with Apereo CAS Server version 8.0.1.2
Be careful, to access to CAS User Attributes from your theme file (from 1.8.4), use code below :
<?php
if ( isset($GLOBALS['wp-cassify']) ) {
print_r( $GLOBALS['wp-cassify']->wp_cassify_get_cas_user_datas() );
}
?>
Set up WordPress Roles to User according to CAS User attributes.
Much simpler bypass authentication with post method provided by Susan Boland (See online documentation). Create wordpress authentication form with redirect attribute like this (works only if URL bypass is enabled in settings) :
<?php
$args = array(
'echo' => true,
'remember' => true,
'redirect' => site_url( '/?wp_cassify_bypass=bypass' ),
'form_id' => 'loginform',
'id_username' => 'user_login',
'id_password' => 'user_pass',
'id_remember' => 'rememberme',
'id_submit' => 'wp-submit',
'label_username' => __( 'Username' ),
'label_password' => __( 'Password' ),
'label_remember' => __( 'Remember Me' ),
'label_log_in' => __( 'Log In' ),
'value_username' => '',
'value_remember' => false
);
wp_login_form( $args );
?>
Receive email notifications when trigger is fired (after user account creation, after user login/logout).
Add ‘-IN’ and ‘-NOTIN’ operators to process array attributes values returned from CAS.
When you have :
$cas_user_datas['title'] = array( 'Student', 'Professor' );
Then you can use :
(CAS{title} -IN "professor")
Before every purge, make a complete backup of the database and all site files
(uploads, plugins, themes and configuration) and verify that it can be restored.
On multisite, back up the entire network. The backup checkbox is an administrator
acknowledgement: WP Cassify does not create or validate backups.
Cleanup is manual and requires a preview and confirmation. Administrators,
the operator, accounts with live WordPress browser sessions and accounts with
application passwords are excluded. The date tracks successful logins, not all
activity; authentication performed by third-party systems may not be tracked.
Accounts without a login date are kept unless explicitly included AND their
known CAS marking date is older than the selected period. No historical CAS
login dates are inferred when upgrading.
Content ownership is transferred in small steps and checked before deletion.
An interruption can leave partial transfers or removed site memberships; resume
or inspect the operation before starting another. Other plugins can delete their
own data through WordPress deletion hooks. Recreating a CAS account does not
restore the old WordPress identity or its data.
Task results show the date, operation type and counts of completed, skipped and
failed accounts. Previews are not retained in this history. Clearing a task keeps
its result summary and does not undo completed changes. Detailed execution events
are used internally for recovery until the task is cleared.
The database lock serializes Cassify requests only. Pause imports and other
writers during cleanup. All network sites are checked again before global
account deletion. During the final core deletion, attempts to delete posts,
attachments or links through the guarded WordPress APIs stop the operation.
This does not isolate concurrent authentication, direct SQL, direct file deletion
or arbitrary third-party hook side effects. Use a maintenance window and a
verified backup; this tool cannot guarantee preservation of third-party data.
The tools require WordPress 4.9+ and database connection-owned named locks;
unsupported locking fails closed. Multi-network installations are excluded.
No purge is scheduled or triggered by an upgrade. Inactivity is measured in
24-hour days (730 by default); a login exactly at the cutoff is retained.
Marking accounts manually changes their future purge eligibility and does not
prove their CAS identity. For accounts without a login date, the grace period
starts when their CAS marking date is first recorded.