Added support for CAS authentication

git-svn-id: https://rosehill.googlecode.com/svn/trunk@67 100bd78a-fc82-11de-b5bc-ffd2847a4b57
This commit is contained in:
inghamn 2010-02-02 15:57:08 +00:00
parent 54056d5722
commit 5d50a8125d
1 changed files with 14 additions and 9 deletions

View File

@ -9,7 +9,7 @@
if (isset($_REQUEST['return_url'])) { if (isset($_REQUEST['return_url'])) {
$_SESSION['return_url'] = $_REQUEST['return_url']; $_SESSION['return_url'] = $_REQUEST['return_url'];
} }
require_once '/var/www/libraries/SimpleCAS/SimpleCAS/Autoload.php'; require_once CAS.'/SimpleCAS/Autoload.php';
$options = array('hostname'=>CAS_SERVER,'uri'=>CAS_URI); $options = array('hostname'=>CAS_SERVER,'uri'=>CAS_URI);
$protocol = new SimpleCAS_Protocol_Version2($options); $protocol = new SimpleCAS_Protocol_Version2($options);
@ -17,17 +17,22 @@ $client = SimpleCAS::client($protocol);
$client->forceAuthentication(); $client->forceAuthentication();
if ($client->isAuthenticated()) { if ($client->isAuthenticated()) {
$user = new User($client->getUsername()); try {
$user->startNewSession(); $user = new User($client->getUsername());
setcookie(CAS_COOKIE,'true',0,'/',CAS_DOMAIN); $user->startNewSession();
setcookie(CAS_COOKIE,'true',0,'/',CAS_DOMAIN);
if (isset($_SESSION['return_url'])) { if (isset($_SESSION['return_url'])) {
header('Location: '.$_SESSION['return_url']); header('Location: '.$_SESSION['return_url']);
}
else {
header('Location: '.BASE_URL);
}
} }
else { catch (Exception $e) {
header('Location: '.BASE_URL); $_SESSION['errorMessages'][] = $e;
} }
} }
else { else {
echo "Could not log in"; header('Location: '.BASE_URL);
} }