I want to start a new asp.net mvc5 Personal Appraisals web project. Now I will have a module inside the system for managing users, and adding info such as primary role, secondary role, main skills, rating for each skill.
As the users are already inside the active directory so I do not want to store duplicate info such as their first name, last name, email address, I want to retrieve them directly from the AD. So I am thinking of this scenario:
- Click on "Add user".
- Start typing first name, where the system will auto-complete the related users from AD.
- Select specific user. The system will populate its first and last names + email address.
- Enter info such as primary role, main skills, etc.
- After that I will ONLY save the GUID for the user or any id that uniquely identify the user inside the AD.
- Later on when I want to view the users info, I will dynamically retrieve his first name, last name, and email address from the AD based on the GUID id which i store inside my DB, and display them inside my system + the info which is stored inside my DB (such as primary role, skills, etc).
So can anyone advise on this approach, or is it better to store the users' info inside my system, and define a sync job which will synchronize the users as defined inside the AD? I'm not sure how I should be handling this scenario. Thanks.