Task #932

AGRORIB: First Time Login

Added by Tan Lee Yong over 13 years ago. Updated almost 13 years ago.

Status:Work Completed-End life cycleStart date:May 26, 2011
Priority:NormalDue date:June 03, 2011
Assignee:Norhaidah Md Dasuki% Done:

90%

Category:Access ControlSpent time:76.00 hours
Target version:-

Description

To implement the first time login modules

1st_time_login.docx (202 KB) Siti Norahayu Mohd Desa , August 17, 2011 15:26

History

#1 Updated by Wong Bernard over 13 years ago

  • Status changed from New - Begin Life Cycle to Development / Work In Progress
  • % Done changed from 0 to 90
  1. Code clean up completed
  2. Struts configs completed
  3. Page layout completed
Outstanding issues:
  1. JCaptcha does not validate correctly (currently commented)
  2. Integrate Host messages

#2 Updated by Wong Bernard over 13 years ago

  1. JCaptcha validation fixed
  2. New issue regarding image path not accessible on page. The URL is correct, but the image cannot be displayed. View from system and it is fine. Suspect that JCaptcha generated images are somehow hidden to Tomcat/Server when they are generated.

#3 Avatar?id=2560&size=24 Updated by Ahmadi Hadi over 13 years ago

  • Category set to Access Control

#4 Updated by Wong Bernard over 13 years ago

  1. Integrated with Host messages
  2. Logs Customer Profile, but required database changes

#5 Avatar?id=2560&size=24 Updated by Ahmadi Hadi about 13 years ago

  • % Done changed from 90 to 80

I'm reducing the completed percentage due to following issues (According to Bernard):

  • The captcha library still does not validate correctly;
  • UPass complains that the username already exists;
  • Saving user profile also complains about already existing record.

#6 Updated by Wong Bernard about 13 years ago

  1. Fixed Captcha imaging, now using SimpleCaptcha

#7 Updated by Wong Bernard about 13 years ago

  1. Getting the following error when trying to save user profile to database: java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: Could not find stored procedure 'nextval_sq_ib_user'.

#8 Updated by Wong Bernard about 13 years ago

  1. Getting a new error after making changes: Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The INSERT statement conflicted with the FOREIGN KEY constraint "FK4FFA2903FB5E2B0A". The conflict occurred in database "agroib", table "dbo.IB_USER", column 'USER_ID'.

I think we need to set the column USER_ID in IB_CUST_PROFILE as "native" and the USER_ID in IB_USER as "assigned".

Currently I am inserting into IB_USER first, then IB_USER_PROFILE, but it will complain about the above error. If I do not execute this statement:

userProfile.setMainProfile(m_oUser);

Then I get the below error

  1. [02/07/2011] [10:34:14:872] [ERROR] [IBRegisterSecurityImageServices]:527 - Error details : org.hibernate.PropertyValueException: not-null property references a null or transient value: net.penril.ibss.core.hibernate.IbCustProfile.mainProfile

I think the issue is which of these tables should be inserted first and which one should be generating the USER_ID natively.

#9 Updated by Wong Bernard about 13 years ago

  1. UPass still throwing Username already exist error when executing createUpassUser method.

#10 Updated by Wong Bernard about 13 years ago

  1. Username exist error resolved by Danniell

There is another issue now which I have tried to resolve by following how IBAM creates a new user, but with no success. The error is:

[18/07/2011] [16:40:09:065] [ERROR] [IBRegisterSecurityImageServices]:527 - Error details : org.hibernate.PropertyValueException: not-null property references a null or transient value: net.penril.ibss.core.hibernate.IbUserSecurity.ibUserSecurity
at org.hibernate.engine.Nullability.checkNullability(Nullability.java:95)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:313)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:534)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:241)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:291)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:239)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
at org.hibernate.engine.Cascade.cascade(Cascade.java:153)
at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:454)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:288)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:534)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:522)
at net.penril.generic.hibernate.GenericDAOHibernate.makePersistent(GenericDAOHibernate.java:123)
at net.penril.ibss.core.hibernate.IbCustProfile.createNewUser(IbCustProfile.java:1703)
at com.ib.enterprise.services.ib101_access.IBGenericLoginServices.saveCustProfile(IBGenericLoginServices.java:316)
at com.ib.enterprise.services.ib101_access.register.IBRegisterResultServices.execute(IBRegisterResultServices.java:49)
at com.ib.rib.controller.actions.ib101_access.register.IBRegisterResultAction.execute(IBRegisterResultAction.java:58)

I suspect the relationship with the IB_USER, IB_CUST_PROFILE and IB_USER_SECURITY is mapped incorrectly which I have tried to fixed as well.

#11 Updated by Wong Bernard about 13 years ago

  1. Fixed database/Hibernate related issues. Thanks to Hadi and Danniell for their help :)
  2. Restored original Register page flow to allow user to login if Registration is successful

#12 Updated by Wong Bernard about 13 years ago

  • Status changed from Development / Work In Progress to Internal Testing
  • Assignee changed from Wong Bernard to Hafizudin MD

#13 Updated by Norhaidah Md Dasuki about 13 years ago

  • Assignee changed from Hafizudin MD to Siti Norahayu Mohd Desa

#14 Updated by Siti Norahayu Mohd Desa about 13 years ago

  • Status changed from Internal Testing to Development / Work In Progress
  • Assignee changed from Siti Norahayu Mohd Desa to Wong Bernard

Insert Username :
<Error – You have been logged out>
- Wrong username
- Insert alphanumeric with special character

Insert Password :
- User Interface not in proper order
- No validation when input wrong password
- No validation when empty password

#15 Updated by Wong Bernard about 13 years ago

Insert Username :
  1. Wrong username - Unchanged. Username validation currently is: Single or combination of numeric, alphabet or alphanumeric. Underscore is accepted. 6 – 16 characters .
  2. Insert alphanumeric with special character - See above.
Insert Password :
  1. User Interface not in proper order - Under investigation. This affects all modules
  2. No validation when input wrong password - Unchanged. There is validation.
  3. No validation when empty password - See above.

#16 Updated by Wong Bernard about 13 years ago

  • Status changed from Development / Work In Progress to Internal Testing
  • Assignee changed from Wong Bernard to Hafizudin MD
  • % Done changed from 80 to 90

#17 Updated by Hafizudin MD about 13 years ago

  • Assignee changed from Hafizudin MD to Siti Norahayu Mohd Desa

assign to ayu..

#18 Updated by Siti Norahayu Mohd Desa about 13 years ago

  • Status changed from Internal Testing to Development / Work In Progress
  • Assignee changed from Siti Norahayu Mohd Desa to Wong Bernard

Username

Failed to login with Registered Username such as : mssadmin, vincent123, mssuser1
Actual Result - Error while performing your request
Expected Result : Go to enter password page

Security Question

Enter error security answer "ABC"
Actual Result - validation error note : <Security Answer is incorrect> with update mobile no. field.
Expected result: validation error <Security Answer is incorrect> with security answer field.

#19 Updated by Wong Bernard about 13 years ago

Username

  1. Failed to login with Registered Username such as : mssadmin, vincent123, mssuser1
    Actual Result - Error while performing your request
    Expected Result : Go to enter password page

Unchanged. These users look like dummy users in that they were never properly registered because they do not have any Security Image, Caption and Questions and Answers. These values are null in the IB_USER_SECURITY table. Please update them to correct this issue.

Security Question
Enter error security answer "ABC"
Actual Result - validation error note : <Security Answer is incorrect> with update mobile no. field.
Expected result: validation error <Security Answer is incorrect> with security answer field.

Unchanged. From the validation.xml file, I don't see how this is possible. Which Security Answer does this occur on?

#20 Updated by Siti Norahayu Mohd Desa about 13 years ago

Please refer attachment

#21 Updated by Wong Bernard about 13 years ago

  • Status changed from Development / Work In Progress to Internal Testing
  • Assignee changed from Wong Bernard to Siti Norahayu Mohd Desa

Fixed. Caused by incorrect logic handling page flow.

#22 Updated by Siti Norahayu Mohd Desa about 13 years ago

  • Status changed from Internal Testing to User Acceptance Test
  • Assignee changed from Siti Norahayu Mohd Desa to Norhaidah Md Dasuki

Tested by AYU : PASSED

#23 Updated by Siti Norahayu Mohd Desa about 13 years ago

  • Status changed from User Acceptance Test to Development / Work In Progress
  • Assignee changed from Norhaidah Md Dasuki to Wong Bernard
  • Priority changed from Normal to Urgent

Failed to login until RIB Landing Page

#24 Updated by Wong Bernard about 13 years ago

  • Assignee changed from Wong Bernard to Siti Norahayu Mohd Desa

Please provide me the username and password that this is error happens with. My own test is fine, so I need to be able to replicate this problem.

#25 Updated by Siti Norahayu Mohd Desa about 13 years ago

  • Status changed from Development / Work In Progress to User Acceptance Test
  • Assignee changed from Siti Norahayu Mohd Desa to Norhaidah Md Dasuki
  • Priority changed from Urgent to Normal

Tested by AYU : PASSED

#26 Updated by Norhaidah Md Dasuki almost 13 years ago

  • Status changed from User Acceptance Test to Work Completed-End life cycle

Also available in: Atom PDF