. * */ /** * @author Greg Wojtak * @copyright Copyright © 2010,2011 by Greg Wojtak * @package Auth_Ldap * @subpackage auth demo * @license GNU Lesser General Public License */ class Auth extends CI_Controller { function __construct() { parent::__construct(); $this->load->helper('form'); $this->load->library('Form_validation'); $this->load->library('auth_ldap'); $this->load->helper('url'); $this->load->library('table'); } function index() { $this->db_session->keep_flashdata('tried_to'); $this->login(); } function login($errorMsg = NULL){ $this->db_session->keep_flashdata('tried_to'); if(!$this->auth_ldap->is_authenticated()) { // Set up rules for form validation $rules = $this->form_validation; $rules->set_rules('username', 'Username', 'required|alpha_dash'); $rules->set_rules('password', 'Password', 'required'); // Do the login... if($rules->run() && $this->auth_ldap->login( $rules->set_value('username'), $rules->set_value('password'))) { // Login WIN! if($this->db_session->flashdata('tried_to')) { redirect($this->db_session->flashdata('tried_to')); }else { redirect('/'); } }else { // Login FAIL $this->load->view('auth/login_form', array('login_fail_msg' => 'Error with LDAP authentication.')); } }else { // Already logged in... redirect('/'); } } function logout() { if($this->db_session->userdata('logged_in')) { $data['name'] = $this->db_session->userdata('cn'); $data['username'] = $this->db_session->userdata('username'); $data['logged_in'] = TRUE; $this->auth_ldap->logout(); } else { $data['logged_in'] = FALSE; } $this->load->view('auth/logout_view', $data); } } ?>