19 require_once(BASE.
"wcmf/lib/presentation/class.Controller.php");
20 require_once(BASE.
"wcmf/lib/util/class.InifileParser.php");
21 require_once(BASE.
"wcmf/lib/security/class.AuthUser.php");
22 require_once(BASE.
"wcmf/lib/security/class.UserManager.php");
23 require_once(BASE.
"wcmf/lib/persistence/class.LockManager.php");
24 require_once(BASE.
"wcmf/lib/util/class.SessionData.php");
62 if ($request->getAction() !=
'dologin')
63 $request->clearValues();
66 $this->_anonymous = $parser->getValue(
'anonymous',
'cms');
68 parent::initialize($request, $response);
77 if(!$this->_request->hasValue(
'login'))
82 if(!$this->_request->hasValue(
'password'))
95 if ($this->_request->getAction() ==
'dologin' || $this->_anonymous || $this->
isCookieLogin())
114 if ($this->_anonymous)
116 $this->_response->setAction(
'ok');
120 if ($this->_request->getAction() ==
'login')
123 $loginTries = $session->get($this->NUM_LOGINTRIES_VARNAME);
124 $loginMessage = $session->get($this->LOGINMESSAGE_VARNAME);
126 $session->set($this->NUM_LOGINTRIES_VARNAME, $loginTries);
127 $session->set($this->LOGINMESSAGE_VARNAME, $loginMessage);
130 if ($this->_request->getAction() ==
'dologin')
135 $isPasswordEncrypted =
false;
136 if ($this->_request->hasValue(
'password_is_encrypted'))
137 $isPasswordEncrypted = $this->_request->getValue(
'password_is_encrypted');
139 if ($authUser->login($this->_request->getValue(
'login'), $this->_request->getValue(
'password'), $isPasswordEncrypted))
146 if($this->_request->getValue(
'remember_me'))
149 $expire = time() + 1728000;
152 setcookie(
'login', $this->_request->getValue(
'login'), $expire);
153 setcookie(
'password', $cookiePassword, $expire);
155 $this->_response->setAction(
'ok');
161 $logintries = $session->get($this->NUM_LOGINTRIES_VARNAME)+1;
162 $session->set($this->NUM_LOGINTRIES_VARNAME, $logintries);
164 $session->set($this->LOGINMESSAGE_VARNAME, $this->
getErrorMsg());
166 $this->_response->setAction(
'login');
170 elseif ($this->_request->getAction() ==
'logout')
174 $lockManager->releaseAllLocks();
177 setcookie(
'login',
'', time()-3600,
'/');
178 setcookie(
'password',
'', time()-3600,
'/');
179 setcookie(session_name(),
'', time()-3600,
'/');
181 print
'<script type="text/javascript">
182 document.cookie = "login=; expires=Wed, 1 Mar 2006 00:00:00";
183 document.cookie = "password=; expires=Wed, 1 Mar 2006 00:00:00";
190 $this->_response->clearValues();
199 $this->_response->setValue(
'login', $_COOKIE[
'login']);
200 $this->_response->setValue(
'password', $_COOKIE[
'password']);
201 $this->_response->setValue(
'password_is_encrypted',
true);
203 $this->_response->setAction(
'dologin');
208 $loginMessage = $session->get($this->LOGINMESSAGE_VARNAME);
209 if (strlen($loginMessage) > 0)
211 $msg = $loginMessage;
212 if ($session->exist($this->NUM_LOGINTRIES_VARNAME))
213 $msg .=
" (".
Message::get(
"Attempt").
" #".($session->get($this->NUM_LOGINTRIES_VARNAME)+1).
")";
214 $this->_response->setValue(
'loginmessage', $msg);
227 return ($this->_request->getAction() ==
'login' && isset($_COOKIE[
'login'], $_COOKIE[
'password']));
AuthUser provides a storage and methods for user data used for authentication/authorization purposes...
get($message, $parameters=null, $domain='', $lang='')
initialize(&$request, &$response)
LoginController is a controller that handles the login process.
Controller is the base class of all controllers. If a Controller has a view it is expected to reside ...
encryptPassword($password)