In-Portal Issue Tracker - In-Portal CMS
Viewing Issue Advanced Details
225 [In-Portal CMS] Optimization task N/A 2009-08-13 08:31 2010-07-22 15:06
alex  
alex  
normal  
closed 4.3.9  
fixed  
 
none 5.1.0-B1  
0
0000225: Move login-related code away from UsersEventHandler class
Currently we have very large method (u:OnLogin event) in UsersEventHandler, that is used only once during user login. It sits there and eats memory in each user event handler created even, when user is already logged-in or not logged-in at all. I propose to
- create UserHelper class and move all login-related code to it;
- make loginUser method, that will have 3 input parameters: $username, $password, $dry_run = false

This method will login user with given credentials and return error as constant otherwise. When $dry_run parameter is specified, then it's only checked, that user with given credentials will be able to login if he tries to.

As the result of this optimization we will be able to transparently login users we want. Also we can upgrade this method, so it can login user by given ID (login and password not checked). Also we can specify where user should be logged-in: front-end or admin. This way it will be easy to implement feature, when administrator can login as any of front-end users without even knowing their password.
parent of 0001015closed  (5.1.3)alex Template "login pending or disabled" is not used 
patch move_login_code_to_helper.patch (32,285) 2010-03-03 06:46
http://tracker.in-portal.org/file_download.php?file_id=322&type=bug
Issue History
2011-03-13 06:06 alex Relationship added parent of 0001015
2010-07-22 15:06 alex Note Added: 0002539
2010-07-22 15:06 alex Status resolved => closed
2010-04-28 10:39 alex Note Added: 0002023
2010-04-28 10:39 alex Status reviewed and tested => resolved
2010-04-28 10:39 alex Fixed in Version => 5.1.0-B1
2010-04-28 10:39 alex Resolution open => fixed
2010-04-28 10:39 alex Assigned To !COMMUNITY => alex
2010-04-28 10:39 alex Changeset attached 5.1.x r13471
2010-04-28 08:29 Dmitry Note Added: 0002018
2010-04-28 08:29 Dmitry Status needs testing => reviewed and tested
2010-03-03 06:54 alex Time Estimate Removed 3 =>
2010-03-03 06:54 alex Note Added: 0001514
2010-03-03 06:54 alex Assigned To => !COMMUNITY
2010-03-03 06:54 alex Developer => alex
2010-03-03 06:54 alex Status active => needs testing
2010-03-03 06:46 alex File Added: move_login_code_to_helper.patch
2010-01-12 11:30 alex Time Estimate Added 3
2009-10-06 14:29 alex Type feature request => task
2009-08-14 12:47 Dmitry version => 4.3.9
2009-08-14 12:47 Dmitry Target Version => 5.1.0
2009-08-13 08:31 alex New Issue

Notes
(0001514)
alex   
2010-03-03 06:54   
What should be tested:
1. login using "root" user with correct password to administrative console - OK
2. login using "root" user with incorrect password to administrative console - FAIL
3. login using front-end user with correct password to administrative console - FAIL
4. login using front-end user with incorrect password to administrative console - FAIL
5. login using "root" user with correct password to front-end - FAIL
6. login using "root" user with incorrect password to front-end - FAIL
7. login using front-end user with correct password to front-end - OK
8. login using front-end user with incorrect password to front-end - FAIL
9. verify, that "Remeber Me" checkbox works
10. verify, that user is auto-loggined after registration, when user is created as active
(0002018)
Dmitry   
2010-04-28 08:29   
Tested good.
(0002023)
alex   
2010-04-28 10:39   
Fix committed to 5.1.x branch. Commit Message:

Fixes 0000225: Move login-related code away from UsersEventHandler class
(0002539)
alex   
2010-07-22 15:06   
Closing, since 5.1.0 release has been released.