Skip to main content

Login Form in ASP.Net with C#

Here, I’m going to describe Login web Form in ASP.Net. This article’s beauties are, it provide login for Admin and User both from single table according define role.  This demo is having proper validation and Stay login. Steps are given below:
Step 1:- Create a table and fill records
CREATE TABLE LoginAuthentication
(
      [id] [varchar](50) Primary Key,
      [pass] [varchar](50) NOT NULL,
      [role] [int] NOT NULL
)

Login Form in ASP.Net with C#
Note:- Here role 1 means Admin Login and 0 means User Login
Step 2: Take three web pages namely “Login.aspx”, “Admin.aspx” and “User.aspx
Step 3:- Add Connection String in web.config file
<configuration>
                <connectionStrings>
                                 <add name="dbconnection" providerName="System.Data.SqlClient"
                                    connectionString="Data Source=.;Initial Catalog=avi;User Id=avisqlserver;        password=123456" />
                </connectionStrings>
</configuration>

Step 4:- Login.aspx
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .style1
        {
            width75px;
        }
        .style2
        {
            width417px;
        }
    </style>
    <script type="text/javascript">
        window.history.forward();
        function noBack() { window.history.forward(1); }
    </script>
    <%--RequerFeildValidater--%>
    <script type="text/javascript">
        function ValidateFeild() {
            var txtId = document.getElementById("txtId").value;
            var txtPass = document.getElementById("txtPassword").value;
            if (txtId === "") {
                document.getElementById("lblId").innerHTML = "*";
                document.getElementById("lblId").title = "Enter email id";
                return false;
            }
            else {
                document.getElementById("lblId").innerHTML = "";
            }

            if (txtPass === "") {
                document.getElementById("lblPass").innerHTML = "*";
                document.getElementById("lblPass").title = "Enter password";
                return false;
            }
            else {
                document.getElementById("lblPass").innerHTML = "";
            }

            if (txtId !== "") {
                var RegExEmail = /^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/;

                if (!RegExEmail.test(txtId)) {
                    document.getElementById("lblEmailValid").innerHTML = "*";
                    document.getElementById("lblEmailValid").title = "Email formate incorrect";
                    return false;
                }
                else {
                    document.getElementById("lblEmailValid").innerHTML = "";
                }
            }

        }
    </script>
    
</head>
<body onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">
    <form id="form1" runat="server">
    <div style="height: 426px">
        <fieldset style="width: 236px; background-image: url(images/legendback.png);" />
        <legend></legend>
        <table cellpadding="0" cellspacing="0" style="height: 197px">
            <tr style="padding: 0px;">
                <td style="border-bottom: 1px solid black; padding: 0px">
                Sign in
                </td>
                <td style="border-bottom: 1px solid black;">
                   
                </td>
            </tr>
        
            <tr>
                <td class="style1">
                    Email Id
                </td>
                <td class="style2">
                    <asp:TextBox ID="txtId" runat="server" Width="130px"meta:resourcekey="txtIdResource1" OnFocus="this.style.borderColor='blue'"OnBlur="this.style.borderColor=''" ></asp:TextBox>
                    <asp:Label ID="lblId" runat="server" ForeColor="#FF3300"></asp:Label>
                    <asp:Label ID="lblEmailValid" runat="server" ForeColor="#FF3300"></asp:Label>
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="lblPassword" runat="server" Text="Password"meta:resourcekey="lblPasswordResource1"></asp:Label>
                </td>
                <td class="style2">
                    <asp:TextBox ID="txtPassword" runat="server" Width="130px"meta:resourcekey="txtPasswordResource1" OnFocus="this.style.borderColor='blue'"OnBlur="this.style.borderColor=''"
                        TextMode="Password"></asp:TextBox>
                    <asp:Label ID="lblPass" runat="server" ForeColor="#FF3300"></asp:Label>
                </td>
            </tr>
            <tr>
                <td>
                </td>
                <td class="style2">
                    <asp:Label ID="lblErrorMsg" runat="server" ForeColor="#FF3300"Visible="False" meta:resourcekey="lblErrorMsgResource1"></asp:Label>
                </td>
            </tr>
            <tr>
                <td>
                </td>
                <td>
                    <asp:CheckBox ID="chkRemember" runat="server" Text="Stay signed in" />
                </td>
            </tr>
            <tr>
                <td class="style1">
                </td>
                <td class="style2">
                    <asp:Button ID="btnLogin" runat="server" Text="Sign In"OnClientClick="return ValidateFeild(this)"
                        OnClick="btnLogin_Click1" meta:resourcekey="btnLoginResource1" />
                </td>
            </tr>
        </table>
        </fieldset>
    </div>
    </form>
</body>
</html>


Output
Login Form in ASP.Net with C#
Step 5:- Login.aspx.cs
using System;
using System.Data;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{

    readonly string cnString = System.Configuration.ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;


    public void login(string id, string pass)
    {
        if (id.Length > 0 && pass.Length > 0)
        {
            try
            {
                SqlConnection con = new SqlConnection(cnString);
                SqlCommand cmd = new SqlCommand(String.Format("select * from LoginAuthentication where id = '{0}'", id), con);
                if (con.State == ConnectionState.Closed)
                    con.Open();

                using (SqlDataReader rd = cmd.ExecuteReader())
                {
                    if (rd.Read())
                    {
                        if (rd["pass"].ToString() == pass)
                        {
                            lblErrorMsg.Visible = false;
                            if (chkRemember.Checked == true)
                            {
                                Response.Cookies["IdCookie"].Value = txtId.Text.Trim();
                                Response.Cookies["IdCookie"].Expires =DateTime.Now.AddDays(30);
                                Response.Cookies["PassCookie"].Value = txtPassword.Text.Trim();
                                Response.Cookies["PassCookie"].Expires =DateTime.Now.AddDays(30);
                            }
                            if (Convert.ToInt32(rd["role"]) == 1)
                            {
                                Session.Add("AdminSession", id);
                                Response.Redirect("Admin.aspx");
                            }
                            else
                            {
                                Session.Add("UserSession", id);
                                Response.Redirect("User.aspx");
                            }
                        }
                        else
                        {
                            lblErrorMsg.Text = "password incorrect";
                            lblErrorMsg.Visible = true;
                        }
                    }
                    else
                    {
                        lblErrorMsg.Text = "email id incorrect ";
                        lblErrorMsg.Visible = true;
                    }
                }
                if (con.State == ConnectionState.Open)
                    con.Close();
            }
            catch
            {
               
            }
        }
       
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Request.Cookies["IdCookie"] != null && Request.Cookies["PassCookie"] != null)
                 login(Request.Cookies["IdCookie"].Value, Request.Cookies["PassCookie"].Value);
        }
    }

    protected void btnLogin_Click1(object sender, EventArgs e)
    {
        login(txtId.Text.Trim(),txtPassword.Text.Trim());
    }
   
}


Step 6:- Admin.aspx
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
     <script type="text/javascript">
         window.history.forward();
         function noBack() { window.history.forward(1); }
</script>
</head>
<body onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">
    <form id="form1" runat="server">
    <div>
    Welcome Admin Panel
        <asp:LinkButton ID="LinkButton1" runat="server"
            style="float: right; margin:0px 40px 0px 0px" onclick="LinkButton1_Click">Sign Out</asp:LinkButton>
    </div>
    </form>
</body>
</html>

Step 7:- Admin.aspx.cs
using System;

public partial class Admin : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Convert.ToString(Session["AdminSession"]) == "")          
            Response.Redirect("Login.aspx");
    }
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Session.Abandon();
        Response.Cookies["IdCookie"].Value = null;
        Response.Cookies["PassCookie"].Value = null;
        Response.Redirect("Login.aspx");    
    }
}

Step 8:- User.aspx
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        window.history.forward();
        function noBack() { window.history.forward(1); }
</script>
</head>
<body onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">
    <form id="form1" runat="server">
    <div>
    Welcome User Panel
    <asp:LinkButton ID="LinkButton1" runat="server"
            style="float: right; margin:0px 40px 0px 0px" onclick="LinkButton1_Click">Sign Out</asp:LinkButton>
    </div>
    </form>
</body>
</html>

Step 9:- User.aspx.cs
using System;

public partial class User : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Convert.ToString(Session["UserSession"]) == "")
            Response.Redirect("Login.aspx");
    }
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Session.Abandon();
        Response.Cookies["IdCookie"].Value = null;
        Response.Cookies["PassCookie"].Value = null;
        Response.Redirect("Login.aspx");
       
    }
}

Step 10:- compile the program and run the application
Note- If you not properly Sing Out web form then, when will be open Login web formautomatic previous Logged web form open, because cookies are set on Admin and User web form’s Page_Load event.

Comments

Popular posts from this blog

How to Learn free Ethical Hacking Tutorial 1 :- Introduction 1

Welcome to  Hackers !!! Today, I am going to start a series on  Ethical Hacking Tutorials  to spread awareness.  This series of Ethical Hacking Tutorial is for Educational purpose only, any wrong and illegal activity is not promoted by me or my team of Dark Street Hackers.  In this first tutorial, we will be looking at what is cyber security, why we need it, who are the hackers and much more. So, without wasting time, let's get started with it. What is Cyber Security? Cybersecurity is the act of securing frameworks, systems, and projects from advanced assaults. These cyberattacks are typically initiated for changing, or crushing touchy data; blackmailing cash from clients; or intruding on ordinary business forms. In simple words, I can say, it is a process of making digital data secure using various tools and techniques before an attacker or bad guy tries to access it. Why we need Cyber security? Nowadays, everything is online and lots data is being saved in the di

Best Books