=====Impersonate Admin User of Subsite===== Super Site Admin should be able to login as admin of subsite. Once logged in he/she should have all the privileges of a subsite admin. ====Design==== The subsites can be on a subdomain or a separate domain. Because of this, using cookie for impersonation is not possible as cookies are not shared across domain. Login Process- * Check if the email provided is the super site admin. This is done by comparing it with the value in application.yml(default_company/admin_user_email). * If the email is super site admin's and if the site is not default one proceed to next step. If the site is default then normal log-in process will happen. * Validate the email and password provided. If valid then continue with the next step else show a message that the validation failed. * Retrieve the details of the sites admin and then create a session. * If the session creation fails ( example - the admin has not yet activated his email etc), then show an error message * If the session is created, then the super admin will be logged into the site as site admin. ====constraints imposed because of the above design==== * Super site admin email has to be unique in the database. ie no site should have an user with the same email of super admin. * If there is a change in the email of the super site admin, then the application.yml file needs to be updated and the application needs to restarted.