$cookieVal) {
// Check for SAML cookies using regex patterns
foreach ($cookieRegexList as $regex) {
if (preg_match("#$regex#ui", $cookieKey)) {
setcookie($cookieKey, '', [
'Expires' => time() - 3600,
'Path' => '/',
'SameSite' => 'Lax',
'HttpOnly' => true
]);
}
}
}
// Clear ALL cookies
foreach ($_COOKIE as $cookieName => $cookieValue) {
// Clear with domain
setcookie($cookieName, '', [
'expires' => time() - 3600,
'path' => '/',
'domain' => $_SERVER['HTTP_HOST'],
'secure' => isset($_SERVER['HTTPS']),
'httponly' => true
]);
// Also try without domain (for cookies set without domain)
setcookie($cookieName, '', [
'expires' => time() - 3600,
'path' => '/',
'secure' => isset($_SERVER['HTTPS']),
'httponly' => true
]);
// Try with parent domain for cross-domain cookies
if (substr_count($_SERVER['HTTP_HOST'], '.') > 1) {
$parentDomain = substr($_SERVER['HTTP_HOST'], strpos($_SERVER['HTTP_HOST'], '.'));
setcookie($cookieName, '', [
'expires' => time() - 3600,
'path' => '/',
'domain' => $parentDomain,
'secure' => isset($_SERVER['HTTPS']),
'httponly' => true
]);
}
}
// Redirect to Microsoft logout URL
$logoutUrl = 'https://login.microsoftonline.com/18843e6e-1846-456c-a05c-500f0aee12f6/oauth2/logout';
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Location: ' . $logoutUrl);
exit;
}
try {
include_once(((strpos($t4_config['phar'], '.phar') !== false) ? 'phar://' : '').$_SERVER['DOCUMENT_ROOT'].$t4_config['phar'].'/vendor/autoload.php');
if (!class_exists('\AccessControl\Core\Config')) {
throw new \Exception('AccessControl Library is not loaded correctly');
}
if (!empty($t4_config['config'])) {
AccessControl\Core\Config::setJSON($_SERVER['DOCUMENT_ROOT'].$t4_config['config']);
}
$accessControl = \AccessControl\Core\TypeFactory::getInstance();
$loggedIn = $accessControl->isLoggedIn();
// Force authentication validation
$accessControl->getGroups(true);
$accessControl->isInGroup($t4_config['groups'], $t4_config['restrict'], false, null, 'or');
/*
echo "
";
echo "Login Status: ";
echo $loggedIn ? "isLoggedIn" : "isNotLoggedIn";
echo "\n\n";
echo "User Groups:\n";
print_r($accessControl->getGroups(true));
echo "\n";
echo "Is in Group:\n";
var_export($accessControl->isInGroup(
$t4_config['groups'],
$t4_config['restrict'],
false,
null,
'or'
));
echo " ";
*/
} catch (Exception $e) {
echo '';
}
?>
Profiles | University of Chester
menu
Primary Navigation Menu
Study
add
Student Life
add
International
add
Research
add
About
add
Logout
search
Switch search type
Site search
sync_alt
Course search
"Always ask questions and try to learn areas outside of the lecturer’s materials. It will help you down the line!"
How did your degree at the University of Chester prepare you for your current role?
It gave me a solid foundation in the technical aspects of the role but also gave me confidence in myself as a developer and programmer. I had a wide breadth of knowledge from advanced programming paradigms and the software development lifecycle to the fundamentals of artificial intelligence and network infrastructure.
Having that knowledge behind me not only showed that I was well educated, but that I could adapt to any role, had passion for all things Computer Science, and above all was a hard worker - all valuable traits to a potential employer!
What do you feel are the top transferable skills that you use in your role?
Communication
Creative thinking
Problem solving
Teamwork
Being open to criticism