Hi micah,
I have created sample code which full-fill your requirement.
HTML
<div>
<asp:Login ID="LoginINNOVATION" OnAuthenticate="ValidateUser" runat="server">
</asp:Login>
</div>
C#
string userName;
protected void ValidateUser(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["constring"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("Validate_User"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@EmailId", LoginINNOVATION.UserName);
cmd.Parameters.AddWithValue("@Password", (LoginINNOVATION.Password));
cmd.Connection = con;
con.Open();
userName = Convert.ToString(cmd.ExecuteScalar());
con.Close();
}
if (!string.IsNullOrEmpty(userName) && userName != "-1" && userName != "-2")
{
FormsAuthentication.RedirectFromLoginPage(LoginINNOVATION.UserName, LoginINNOVATION.RememberMeSet);
Session["userName"] = userName;
}
else
{
switch (Convert.ToInt32(userName))
{
case -1:
LoginINNOVATION.FailureText = "Username or password not correct.";
break;
case -2:
LoginINNOVATION.FailureText = "Account has not been activated.";
break;
}
}
}
}
}
HomePage
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
UserName:
</td>
<td>
<asp:Label ID="lblUserName" Text="" runat="server" />
</td>
</tr>
<tr>
<td>
EmailId:
</td>
<td>
<asp:Label ID="lblEmailId" Text="" runat="server" />
</td>
</tr>
<tr>
<td>
Joint Date:
</td>
<td>
<asp:Label ID="lbljoint" Text="" runat="server" />
</td>
</tr>
</table>
</div>
C#
string constr = ConfigurationManager.ConnectionStrings["constring"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (this.Page.User.Identity.IsAuthenticated)
{
this.GetUserDetail();
}
}
private void GetUserDetail()
{
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand("GetUSERPRO", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Username", Session["userName"]);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
lblEmailId.Text = dt.Rows[0]["Email"].ToString();
lblUserName.Text = dt.Rows[0]["Username"].ToString();
lbljoint.Text = dt.Rows[0]["CreatedDate"].ToString();
}
Sql Login Procedure
ALTER PROCEDURE [dbo].[Validate_User]
@EmailId NVARCHAR(20),
@Password NVARCHAR(20)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @UserId INT, @LastLoginDate DATETIME
SELECT @UserId = UserId, @LastLoginDate = LastLoginDate
FROM Users3 WHERE Email =@EmailId AND [Password] = @Password
IF @UserId IS NOT NULL
BEGIN
IF NOT EXISTS(SELECT UserId FROM UserActivation WHERE UserId = @UserId)
BEGIN
UPDATE Users
SET LastLoginDate = GETDATE()
WHERE UserId = @UserId
--SELECT @UserId [UserId], -- User Valid
SELECT Username FROM Users WHERE UserId = @UserId
END
ELSE
BEGIN
SELECT -2 -- User not activated.
END
END
ELSE
BEGIN
SELECT -1 -- User invalid.
END
END
User Details Procedure
ALTER PROCEDURE [dbo].[GetUSERPRO]
@Username NVARCHAR(50)
AS
BEGIN
SELECT UserId
,Email
,Name
,UserName
,ImageName
,Country
,CONVERT(VARCHAR (20),RegisterdDate, 106) RegisteredDate
,CONVERT(VARCHAR (20),LastLogin, 106) LastLogin
FROM [User3]
WHERE UserName=@Username
END
Screenshot