In this article you will learn about Forms Authentication in ASP.NET. It is a common need for a web site to have membership and login system, particularly when part of the web site is restricted in access by non-members. Form authentication is cookie based, as ASP.NET places a cookie in the client machine in order to track the user. If the user requests a secure page and has not logged in, then ASP.NET redirects him/her to the login page. Once the user is authenticated, he/she will be allowed to access the requested page. This article will explain how to secure your website using ASP.NET Form Authentication.
Now create a Login Form with two TextBox one for username and other for password. Login Form looks like below1.

Figure1
ASPX code
<html>
<head>
<title>Standard Forms Authentication Login Form</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form runat="server">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="80">Username: </td>
<td width="10"> </td>
<td><asp:TextBox Id="txtUser" width="150" runat="server"/></td>
</tr>
<tr>
<td>Password: </td>
<td width="10"> </td>
<td><asp:TextBox Id="txtPassword" width="150" TextMode="Password" runat="server"/></td>
</tr>
<tr>
<td></td>
<td width="10"> </td>
<td><asp:CheckBox id="chkPersistLogin" runat="server" />Remember my credentials<br>
</td>
</tr>
<tr>
<td> </td>
<td width="10"> </td>
<td><asp:Button Id="cmdLogin" OnClick="ProcessLogin" Text="Login" runat="server"/> </td>
</tr>
</table>
<br>
<br>
<div id="ErrorMessage" runat="server" />
</form>
</body>
</html>
Now also add the following code with above aspx page.
<%@Page Language="VB" %>
<%@Import Namespace="System.Web.Security" %>
<script language="VB" runat="server">
Sub ProcessLogin(objSender As Object, objArgs As EventArgs)
Dim ab As String
ab = "123"
If txtUser.Text = "123" Then
FormsAuthentication.RedirectFromLoginPage(txtUser.Text, chkPersistLogin.Checked)
Else
ErrorMessage.InnerHtml = "<b>Something went wrong...</b> please re-enter your credentials..."
End If
End Sub
</script>
Now creating a Logout form with Logout Button. The Form looks like below figure2.

Figure2
ASPX page code
<%@Page Language="VB" %>
<%@Import Namespace="System.Web.Security" %>
<script language="vb" runat="server">
Protected Sub SignOut(ByVal objSender As Object, ByVal objArgs As EventArgs)
Response.Redirect("~/login.aspx")
End Sub
Sub Page_Load()
If User.Identity.IsAuthenticated Then
displayCredentials.InnerHtml = "Current User : <b>" & User.Identity.Name & "</b>" & _
"<br><br>Authentication Used : <b>" & User.Identity.AuthenticationType & "</b>"
Else
displayCredentials.InnerHtml = "Sorry, You have not been authenticated."
End If
End Sub
</script>
<html>
<head>
<title>Forms Authentics)ation</title>
</head>
<body bgcolor="#FFFFFFxt="#000000">
<span class="Header">Forms Based Authentication using standard meth
<br>
<br>
<div id="displayCredentials" runat="server" />
<form runat="server">
<asp:Button id="cmdSignOut" text="Sign Out" runat="server" onClick="SignOut" />
<br>
<br>
</form>
</body>
</html>
Now add the following code in Web.config file.
<configuration>
<system.web>
<customErrors mode="Off"/>
<authentication mode="Forms">
<forms name="AuthCookie" path="/" loginUrl="~/login.aspx" protection="All"timeout="30">
<credentials passwordFormat="Clear">
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
<compilation debug="true" targetFramework="4.0"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web>
</configuration>
Now run the application.

Figure3
username is defined in the login page 123.

Figure4
Now click on the login button.

Figure5
Now click on the SignOut button it will redirect to the login form.

Figure6