Description:
In this example
we explain that how to Authentication Login with Cookie based Authentication in
Asp.Net MVC.or how to implement Cookie Based Authentication Login in MVC razor view.
Or how to create Cookie based Authentication Login form in MVC Razor. Or how to
implement Forms Authentication using Cookie based in MVC Razor.
Here we demonstrate
that how to implement Cookie Based Login Authentication in Asp.Net MVC razor
using Entity Framework.
public partial class
User
{
public int UserId { get; set; }
[Required(ErrorMessage = "Required.")]
public string Username { get;
set; }
[Required(ErrorMessage = "Required.")]
public string Password { get;
set; }
[Required(ErrorMessage = "Required.")]
[Compare("Password",
ErrorMessage = "Passwords do not match.")]
public string ConfirmPassword { get;
set; }
[Required(ErrorMessage = "Required.")]
[EmailAddress(ErrorMessage = "Invalid email address.")]
public string Email { get; set; }
public
System.DateTime CreatedDate { get; set; }
public Nullable<System.DateTime>
LastLoginDate { get; set;
}
public bool RememberMe { get;
set; }
}
Controller:
public class EmployeeController
: Controller
{
[AllowAnonymous]
public ActionResult Index()
{
return
View();
}
[Authorize]
public ActionResult Profile()
{
return
View();
}
[HttpPost]
[AllowAnonymous]
public ActionResult Index(User
user)
{
UsersEntities
usersEntities = new UsersEntities();
int?
userId = usersEntities.ValidateUser(user.Username,
user.Password).FirstOrDefault();
string
message = string.Empty;
switch
(userId.Value)
{
case
-1:
message = "Username and/or password is incorrect.";
break;
case
-2:
message = "Account has not been activated.";
break;
default:
FormsAuthentication.SetAuthCookie(user.Username, user.RememberMe);
return
RedirectToAction("Profile");
}
ViewBag.Message = message;
return
View(user);
}
[HttpPost]
[Authorize]
public ActionResult Logout()
{
FormsAuthentication.SignOut();
return
RedirectToAction("Index");
}
}
View:
@model
User_Login_MVC.User
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>Cookie
based Authentication (Login) example in ASP.Net MVC</title>
</head>
<body>
@using (Html.BeginForm("Index",
"Employee", FormMethod.Post))
{
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<th colspan="3">
Login
</th>
</tr>
<tr>
<td>
Username
</td>
<td>
@Html.TextBoxFor(m =>
m.Username)
</td>
<td>
@Html.ValidationMessageFor(m =>
m.Username, "", new { @class = "error" })
</td>
</tr>
<tr>
<td>
Password
</td>
<td>
@Html.PasswordFor(m =>
m.Password)
</td>
<td>
@Html.ValidationMessageFor(m => m.Password, "", new {
@class = "error" })
</td>
</tr>
<tr>
<td>
Remember Me
</td>
<td>
@Html.CheckBoxFor(m =>
m.RememberMe)
</td>
<td>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="Submit"/>
</td>
<td></td>
</tr>
</table>
}
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@if (@ViewBag.Message != null)
{
<script type="text/javascript">
$(function
() {
alert("@ViewBag.Message")
});
</script>
}
</body>
</html>
0 comments:
Post a Comment