The Login Form allows users to login to the application using a username and password. The form allows you to easily and quickly authorize both using a local account and using Google, Facebook or Twitter.
The login form is an authorization template that allows users to log in to the system. The template consists of a main form and a subform. The form allows you to register a new user, as well as reset the password of an existing user. Also, for security, the function of two-factor authentication is used.
The form can be easily embedded into any project that needs a user login form. The form allows you to use any user data storage system.
Login Form includes:
- Authorization Form
- Registration Form
- Reset Password Form
- Two-Factor Authentication Form
Settings are used to make the "Remember me" function work.
<userSettings>
<Login_Form.Properties.Settings>
<setting name="Username" serializeAs="String">
<value />
</setting>
</Login_Form.Properties.Settings>
</userSettings>
The following function is used to encrypt the password:
public static string encryptPassword(string password)
{
MD5CryptoServiceProvider md5Hash = new MD5CryptoServiceProvider();
byte[] encrypt;
UTF8Encoding encode = new UTF8Encoding();
encrypt = md5Hash.ComputeHash(encode.GetBytes(password));
StringBuilder encryptdata = new StringBuilder();
for (int i = 0; i < encrypt.Length; i++)
{
encryptdata.Append(encrypt[i].ToString());
}
GlobalVariables.password = encryptdata.ToString();
return encryptdata.ToString();
}
The following function is used to generate a random password:
public static string randomPassword(int length)
{
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@#/.!')";
var stringChars = new char[length];
var random = new Random();
for (int i = 0; i < stringChars.Length; i++)
{
stringChars[i] = chars[random.Next(chars.Length)];
}
var finalString = new String(stringChars);
return finalString;
}
In the login form, the Global Variables
class is used to store user data. Here you can store both authorization data and data of newly registered users.
public static class GlobalVariables
{
//Login Form
public static string userName { get; set; }
public static string password { get; set; }
//Account Registration Form
public static string firstName { get; set; }
public static string lastName { get; set; }
public static string birthDate { get; set; }
public static string country { get; set; }
public static string telephone { get; set; }
public static string email { get; set; }
public static string newUserName { get; set; }
public static string newPassword { get; set; }
//Recover Password
public static string recover_UserName { get; set; }
public static string recover_Password { get; set; }
public static string recover_Email { get; set; }
public static string recover_AdditionalInfo { get; set; }
}
The login form template is suitable for small projects that need a quick and easy user login system. The form provides a simple template that is easily scalable and allows you to build in all the features you need.