Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once(Path::handlerClassPath() . "HandlerInterface.php");
- require_once(Path::handlerClassPath() . "Handler.php");
- require_once (Path::validationClassPath(). "NetWorkProfileHandler.php");
- class LoginHandler extends Handler implements HandlerInterface {
- private $debugTest = false;
- private $profile;
- public function init(){
- $this->profile = new NetWorkProfileHandler();
- }
- /**
- * Authenticates the username and password from dummydb.
- * @param String $username
- * @param String $password
- * @return <b>Boolean</b> - True if username/password match, otherwise false.
- */
- public function authenticate($username, $password) {
- if($this->debugTest){
- $stmt = $this->stmt;
- $query = "SELECT `username` FROM `dummydb` WHERE `username` = ? AND `password` = ?;";
- if($stmt = $this->mysqli->prepare($query)) {
- $stmt->bind_param("ss", $username, $password);
- $stmt->execute();
- $stmt->bind_result($usernameDB);
- $stmt->fetch();
- if(isset($usernameDB)) {
- return true;
- }
- }
- return false;
- }
- else{
- $this->profile->setUsername($username);
- $this->profile->setPassword($password);
- return $this->profile->IsConnected();
- }
- }
- public function getStatus(){
- return $this->profile->getStatus();
- }
- /**
- * Checks if the username exists in the system database.
- * @param String $username
- * @return <b>Boolean</b> - True if it exists, otherwise false.
- */
- public function checkIfUsernameExists($username) {
- $stmt = $this->stmt;
- $query = "SELECT `employee_username` FROM `employee` WHERE `employee_username` = ?;";
- if($stmt = $this->mysqli->prepare($query)) {
- $stmt->bind_param("s", $username);
- $stmt->execute();
- $stmt->bind_result($usernameDB);
- $stmt->fetch();
- if(isset($usernameDB)) {
- return true;
- }
- }
- return false;
- }
- public function createDummyAccount($username, $password, $computerName){
- $stmt = $this->stmt;
- $query = "INSERT INTO dummydb (`username`, `password`, `computer_name`)
- VALUES ('".$username."', '".$password."', '".$computerName."');";
- if($stmt = $this->mysqli->prepare($query)) {
- $stmt->execute();
- return Status::INSERT_SUCCESS;
- }
- return Status::INSERT_FAIL;
- }
- }
- ?>
- <?php
- class NetWorkProfileHandler{
- private $username;
- private $password;
- private $connected;
- private $statusMsg;
- private function loginProfile(){
- if(isset($this->username,$this->password) && !empty($this->password) && !empty($this->username)){
- $authUser = $this->username.'@ma.global.ad';
- // connect to ldap server
- $ldapconn = ldap_connect("ma.global.ad",389) or die("Could not connect to LDAP server.");
- if ($ldapconn) {
- // binding to ldap server
- $ldapbind = @ldap_bind($ldapconn, $authUser, $this->password);
- // verify binding
- if ($ldapbind)//LDAP binding successful
- {
- $this->connected = true;
- $this->statusMsg = 'Connected!';
- unset($this->username,$this->password);
- }
- else//LDAP binding failed
- {
- $this->connected = false;
- $this->statusMsg = 'Invalid user/password.';
- }
- }
- else {
- $this->connected = false;
- $this->statusMsg = 'Failed to connect to server.';
- }
- }
- else
- {
- $this->connected = false;
- $this->statusMsg = 'Empty user/password.';
- }
- }
- public function getStatus()
- {
- return $this->statusMsg;
- }
- public function IsConnected()
- {
- $this->loginProfile();
- return $this->connected;
- }
- public function setUsername($username)
- {
- $this->username = $username;
- }
- public function setPassword($password)
- {
- $this->password = $password;
- }
- }
- ?>
Add Comment
Please, Sign In to add comment