Form and database based authentication (C#) : Authentication « Development « ASP.Net






Form and database based authentication (C#)

<%-- login.aspx
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security " %>
<%@ Import Namespace="System.Data.OleDb" %> 
<html>
<head>
<script language="C#" runat=server>
  void Login_Click(Object Src, EventArgs E)
  {
    if (Page.IsValid)
    {
  String strConn ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("DBAuth.mdb") + ";";
  OleDbConnection Conn = new OleDbConnection(strConn) ;
  Conn.Open(); 

  String strSQL = "SELECT Pwd FROM Tbl_MA_Users WHERE Email = '" + txtEmail.Text + "'";
  OleDbCommand Cmd = new OleDbCommand(strSQL,Conn);

  //Create a datareader, connection object
  OleDbDataReader Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

  //Get the first row and check the password.
  if (Dr.Read())
  {
    if (Dr["Pwd"].ToString() == txtPwd.Text)
      FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, false);
    else
      lblLoginMsg.Text = "Invalid password.";
  }
  else
    lblLoginMsg.Text = "Login name not found.";

  Dr.Close();
    }
  }
</script>
</head>
<body>
<form runat="server">
<h1>Using Form based Authentication</h1><hr>
Users Name:<br />
<asp:textbox id="txtEmail" runat=server />&nbsp;
<FONT SIZE=2 COLOR="RED">*</FONT>

<asp:RequiredFieldValidator 
  ControlToValidate="txtEmail"
  Display="Dynamic" 
  ErrorMessage="Login name can't be empty." 
  runat=server/>
<br />Password:<br />

<asp:textbox TextMode="Password" id="txtPwd" runat=server />
  &nbsp;<FONT SIZE=2 COLOR="RED">*</FONT>
  <asp:RequiredFieldValidator 
    ControlToValidate="txtPwd" 
    Display="Dynamic" 
    ErrorMessage="Password can't be left empty." 
    runat=server/>
<br />

<asp:Label 
  id="lblLoginMsg" 
  ForeColor="Red" 
  Font-Name="Verdana";   
  Font-Size="10" 
  runat=server />
<b />

<asp:button 
  id="btnLogin" 
  Text="Login"
  OnClick="Login_Click" 
  runat=Server />
</form>
</body>
</html>
--%>

<%-- default.aspx
<%@ Import Namespace="System.Web.Security " %>
<html>
<head>
<script language="C#" runat=server>
  void Page_Load(Object S, EventArgs E)
  {
    lblUser.Text = User.Identity.Name;
    lblType.Text = User.Identity.AuthenticationType;
  }

  void Logout_Click(Object S, EventArgs E)
  {
    FormsAuthentication.SignOut();
    Server.Transfer("login.aspx");
  }
</script>
</head>
<body>
<form runat="server">
    <font face="Verdana" size="4" color="navy">
    <b>Forms Authentication With a Database</b></font><hr>
    <table border=1 bordercolor="#FFFFFF" bgcolor="Silver" 
    cellspacing=0 cellpadding=4>
      <tr>
        <td><b>Current Users Name</b></td>
        <td><asp:label id=lblUser runat=server/></td>
      </tr>
      <tr>
        <td><b>Current Authentication Type</b></td>
        <TD><asp:label id=lblType runat=server/></TD>
      </tr>
    </table>
  <asp:button text="Logout" OnClick="Logout_Click" runat=server/>
</form>
</body>
</html>
--%>

<%-- web.config
<configuration>   
  <system.web>
    <authentication mode="Forms">         
      <forms name=".MyDemo" loginUrl="login.aspx" 
      protection="All" timeout="20" />
    </authentication>
    <authorization>         
      <deny users="?" />
    </authorization>
  </system.web>
</configuration>

--%>

           
       








AuthenticationFormsDB.zip( 10 k)

Related examples in the same category

1.Displaying the authentication status in ASP.NET
2.User.Identity.IsAuthenticated (VB.net)
3.User.Identity.Name (VB.net)
4.Context User Identity Name (VB.net)
5.Get current user name and Authentication Type (VB.net)
6.Basic Authentication (C#)
7.Form based login (C#)