Expand my Community achievements bar.

SOLVED

Best practice to save the user profile in AEM

Avatar

Level 2

Hi Everyone,

 

I am working for a client requirement where we need to design a registration form for end users who would provide some basic details (first name, last name etc). These users can be max 50K in total per year. What would be the best approach to keep this data. 

Questions:

  1. is it okay to keep the user profile in aem (publish) considering 50k per year is not big number? what should be the design consideration we should keep in mind?
  2. If we choose to save it in external DB - how should we manage the session later on ?

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

You can save users in AEM, but this is not a good practice for such a huge user base for many reasons:

1. Orignally AEM is not a user management software so there is not much option for the same like changing password an all.

2. 50k users means 50k different nodes, means you are making your publisher instance bulkier and searching these many nodes will be very tough and eventually make your instance slow.

3. Suppose in future if you want to use these users for other applications, it is almost not possible.

so keeping these things in mind it will be better to use a ActiveDirectory like anything to store user information and configure those thru LDAP in aem, which is very easy.

Now coming to your session management, you can take help from okta an all for tokens and based on that your system will work.

 

Hope this helps

Umesh Thakur

View solution in original post

6 Replies

Avatar

Community Advisor

Hey,

Defenitely it's not a good option to save end user data into AEM.

However your question to session management is depends on type of databse your are using whether cloud or onpremise.

For example below is for AWS -

https://aws.amazon.com/caching/session-management/

 

Cheers!

Thanks for the response.

We are also thinking to save it in external DB but i need to understand the session management part. 

Thanks for sharing the AWS document link.

Avatar

Correct answer by
Community Advisor

You can save users in AEM, but this is not a good practice for such a huge user base for many reasons:

1. Orignally AEM is not a user management software so there is not much option for the same like changing password an all.

2. 50k users means 50k different nodes, means you are making your publisher instance bulkier and searching these many nodes will be very tough and eventually make your instance slow.

3. Suppose in future if you want to use these users for other applications, it is almost not possible.

so keeping these things in mind it will be better to use a ActiveDirectory like anything to store user information and configure those thru LDAP in aem, which is very easy.

Now coming to your session management, you can take help from okta an all for tokens and based on that your system will work.

 

Hope this helps

Umesh Thakur

Avatar

Community Advisor

When storing customer data, dependency on different countries and compliances are always at stake. What you need to do is have your business analyst find out where you are allowed to store the content... for example if you have selected a 3rd party platform of some sort, you can write a "form action servlet", for the AEM core component's, which will capture and store customer information from there.

A great example would be FormStack.com, where they cover most compliances.