ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
AllowedList.php
Go to the documentation of this file.
1<?php
2
44{
45
46 private $_chains = array();
47
53 public function isProxyingAllowed()
54 {
55 return (count($this->_chains) > 0);
56 }
57
66 {
67 $this->_chains[] = $chain;
68 }
69
77 public function isProxyListAllowed(array $proxies)
78 {
80 if (empty($proxies)) {
81 phpCAS::trace("No proxies were found in the response");
82 phpCAS::traceEnd(true);
83 return true;
84 } elseif (!$this->isProxyingAllowed()) {
85 phpCAS::trace("Proxies are not allowed");
86 phpCAS::traceEnd(false);
87 return false;
88 } else {
89 $res = $this->contains($proxies);
91 return $res;
92 }
93 }
94
103 public function contains(array $list)
104 {
106 $count = 0;
107 foreach ($this->_chains as $chain) {
108 phpCAS::trace("Checking chain ". $count++);
109 if ($chain->matches($list)) {
110 phpCAS::traceEnd(true);
111 return true;
112 }
113 }
114 phpCAS::trace("No proxy chain matches.");
115 phpCAS::traceEnd(false);
116 return false;
117 }
118}
119?>
An exception for terminatinating execution or to throw for unit testing.
ProxyChain is a container for storing chains of valid proxies that can be used to validate proxied re...
Definition: AllowedList.php:44
allowProxyChain(CAS_ProxyChain_Interface $chain)
Add a chain of proxies to the list of possible chains.
Definition: AllowedList.php:65
isProxyListAllowed(array $proxies)
Check if the proxies found in the response match the allowed proxies.
Definition: AllowedList.php:77
contains(array $list)
Validate the proxies from the proxy ticket validation against the chains that were definded.
isProxyingAllowed()
Check whether proxies are allowed by configuration.
Definition: AllowedList.php:53
static trace($str)
This method is used to log something in debug mode.
Definition: CAS.php:579
static traceEnd($res='')
This method is used to indicate the end of the execution of a function in debug mode.
Definition: CAS.php:638
static traceBegin()
This method is used to indicate the start of the execution of a function in debug mode.
Definition: CAS.php:591
An interface for classes that define a list of allowed proxies in front of the current application.
Definition: Interface.php:42
if(isset($_REQUEST['delete'])) $list
Definition: registry.php:41
foreach($_POST as $key=> $value) $res