From d0b61f46c000a958538e6e9fdfc8dee5f27e0bc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 4 Dec 2013 12:03:17 +0000 Subject: [PATCH] =?UTF-8?q?Klasse=20f=C3=BCr=20Demo=20Authentifizierung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/auth_demo.class.php | 118 ++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100755 include/auth_demo.class.php diff --git a/include/auth_demo.class.php b/include/auth_demo.class.php new file mode 100755 index 000000000..67ceff776 --- /dev/null +++ b/include/auth_demo.class.php @@ -0,0 +1,118 @@ + + * + */ +/** + * Klasse fuer Authentifizierung fuer die DEMO Seite + * Fuer Testzugänge ohne LDAP Server + */ + +require_once(dirname(__FILE__).'/basis.class.php'); + +class authentication extends auth +{ + + public function login($username) + { + // Nicht noetig da dies ueber htaccess gesteuert wird + } + + public function getUser() + { + // derzeit get_uid in functions.inc.php + if(isset($_SERVER['REMOTE_USER'])) + { + return mb_strtolower(trim($_SERVER['REMOTE_USER'])); + } + else + { + if(isset($_SESSION['user'])) + return mb_strtolower($_SESSION['user']); + else + return $this->RequireLogin(); + } + } + + // derzeit checkldapuser in functions.inc.php bzw per htaccess + public function checkpassword($username, $passwort) + { + if($passwort=='1q2w3' + && ($username=='admin' + || $username=='assistenz1' + || $username=='assistenz2' + || $username=='assistenz2' + || $username=='student1' + || $username=='student2' + || $username=='student3' + || $username=='lektor1' + || $username=='lektor2' + || $username=='lektor3')) + return true; + else + return false; + } + + // derzeit manual_basic_auth in functions.inc.php eventuell + // direkt von getUser aus aufrufen wenn nicht authentifiziert + public function RequireLogin() + { + if(!(isset($_SERVER['PHP_AUTH_USER']) && $this->checkpassword($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']))) + { + header('WWW-Authenticate: Basic realm="'.AUTH_NAME.'"'); + header('HTTP/1.0 401 Unauthorized'); + echo "Ihre Zugangsdaten sind ungueltig!"; + exit; + } + else + { + return mb_strtolower($_SERVER['PHP_AUTH_USER']); + } + } + + public function isUserLoggedIn() + { + if(isset($_SERVER['PHP_AUTH_USER']) && $this->checkpassword($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW'])) + return true; + else + return false; + } + + public function getOriginalUser() + { + if(isset($_SERVER['REMOTE_USER'])) + return mb_strtolower(trim($_SERVER['REMOTE_USER'])); + else + { + if(isset($_SESSION['user_original'])) + return $_SESSION['user_original']; + } + } + + public function loginAsUser($username) + { + $_SESSION['user']=$username; + return true; + } + + public function logout() + { + echo "LOGOUT BEI DEMO AUTH NICHT MÖGLICH"; + } +} +?>