Create a basic login/logout system for the mobility platform. The system should allow users to provide a login name and password on a simple mobile login page which will be used for authentication. The password must be hashed with the username and other factors and compared with the stored hash in the user table. Plain text passwords should not be stored in the database nor utilized outside of generating the hash for authentication.
The application should allow for configuration of authentication methods with this simple authentication being the alternate method and REMOTE_USER authentication being the primary method. The configuration should alter the behavior of the RemoteUserInterceptor in security.authentication as well as the AuthenticationInterceptor if necessary.
A logout transaction must be created to clear the user's credentials from the application's session.