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"; + } +} +?>