I have a web page written on ASP.NET CORE using a MySQL database, from which it reads the information displayed on the web page (news). I have information that I only want to see registered users. I need a login form and registration form for new users, the steps should be the following:
1. The user enters a username and password.
2. Verify that the username exists in the database.
2.1 If the user name does not exist, an error message 'Invalid username or password' is displayed.
3. Check if the password matches.
3.1 If the password does not match, display an 'Invalid username or password' error message.
4. If the password matches, verify that the user is activated.
4.1 If activated, log it.
4.2 If it is not activated, output an 'Account not activated' error message.
1. The user enters a username.
1.1 Checks if the username is free if it is not free to write a message 'User name is already busy'.
2. The user enters an email address.
3. The user confirms the email address by entering it again.
3.1 Checks if there is no registered user with this email address if there is a message that 'Your email address is already registered'.
4. The user enters a password.
5. The user confirms the password by entering it again.
5.1 Checks whether the password contains at least 8 characters and at least 1 capital letter, lowercase letter and number.
When you click on the Sign Up button, a new record has to be created in the database with the new user data.
The password must be encrypted with SHA-256.
The status of the new user must be 'Awaiting Activation' or something like that.
An email with an activation link is sent to the user.
When the user clicks on the link he has to go to a page to verify it and change the status of active.
Besides the forms, I also need an SQL script to create the necessary tables in the database to contain the user data and the activation status.
The email address from which the account activation emails will be sent is in GMAIL, so I need to be able to set up the code to log in to that email address and from there to send the messages by entering the gmail SMTP settings, email address and password.
I have expertise in c#.net and mysql. I have developed many applications using it. I also have knowledge of security which is ur requirement. for more discussion you can message me.