Redirect to main page when transparent SSO is in place for the CAS plugin (which is what the user expects)

This commit is contained in:
Craig Andrews 2010-03-02 15:09:28 -05:00
parent f65478b624
commit 380439ba77
2 changed files with 13 additions and 3 deletions

View File

@ -137,6 +137,7 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
$casSettings['server']=$this->server; $casSettings['server']=$this->server;
$casSettings['port']=$this->port; $casSettings['port']=$this->port;
$casSettings['path']=$this->path; $casSettings['path']=$this->path;
$casSettings['takeOverLogin']=$this->takeOverLogin;
} }
function onPluginVersion(&$versions) function onPluginVersion(&$versions)

View File

@ -54,9 +54,18 @@ class CasloginAction extends Action
// We don't have to return to it again // We don't have to return to it again
common_set_returnto(null); common_set_returnto(null);
} else { } else {
$url = common_local_url('all', if(common_config('site', 'private') && $casSettings['takeOverLogin']) {
array('nickname' => //SSO users expect to just go to the URL they entered
$user->nickname)); //if we don't have a returnto set, the user entered the
//main StatusNet url, so send them there.
$url = common_local_url('public');
} else {
//With normal logins (regular form-based username/password),
//the user would expect to go to their home after logging in.
$url = common_local_url('public',
array('nickname' =>
$user->nickname));
}
} }
common_redirect($url, 303); common_redirect($url, 303);