summaryrefslogtreecommitdiff
path: root/plugins/CasAuthentication
diff options
context:
space:
mode:
authorCraig Andrews <candrews@integralblue.com>2010-01-04 14:43:05 -0500
committerCraig Andrews <candrews@integralblue.com>2010-01-04 14:43:31 -0500
commitc0e4d7bfa2181090f05d3b42ed9f9b135b43aea1 (patch)
tree325b671b5c2283bf8995d4d14c6816967ac3429a /plugins/CasAuthentication
parentbcddcb38cebc5ffbffd3df61fb9acaf6f674b133 (diff)
Add 'takeOverLogin' parameter for a real SSO feel
Diffstat (limited to 'plugins/CasAuthentication')
-rw-r--r--plugins/CasAuthentication/CasAuthenticationPlugin.php9
-rw-r--r--plugins/CasAuthentication/README6
2 files changed, 14 insertions, 1 deletions
diff --git a/plugins/CasAuthentication/CasAuthenticationPlugin.php b/plugins/CasAuthentication/CasAuthenticationPlugin.php
index 8b6ef5462..8f29c7d2a 100644
--- a/plugins/CasAuthentication/CasAuthenticationPlugin.php
+++ b/plugins/CasAuthentication/CasAuthenticationPlugin.php
@@ -40,6 +40,7 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
public $server;
public $port = 443;
public $path = '';
+ public $takeOverLogin = false;
function checkPassword($username, $password)
{
@@ -62,6 +63,14 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
}
}
+ function onArgsInitialize(&$args)
+ {
+ if($this->takeOverLogin && $args['action'] == 'login')
+ {
+ $args['action'] = 'caslogin';
+ }
+ }
+
function onStartInitializeRouter($m)
{
$m->connect('main/cas', array('action' => 'caslogin'));
diff --git a/plugins/CasAuthentication/README b/plugins/CasAuthentication/README
index 2ee54dc05..c17a28e54 100644
--- a/plugins/CasAuthentication/README
+++ b/plugins/CasAuthentication/README
@@ -21,6 +21,9 @@ password_changeable*: must be set to false. This plugin does not support changin
server*: CAS server to authentication against
port (443): Port the CAS server listens on. Almost always 443
path (): Path on the server to CAS. Usually blank.
+takeOverLogin (false): Take over the main login action. If takeOverLogin is
+ set, anytime the standard username/password login form would be shown,
+ a CAS login will be done instead.
* required
default values are in (parenthesis)
@@ -33,6 +36,7 @@ addPlugin('casAuthentication', array(
'autoregistration'=>true,
'server'=>'sso-cas.univ-rennes1.fr',
'port'=>443,
- 'path'=>''
+ 'path'=>'',
+ 'takeOverLogin'=>true
));