I am using Custome users Account which look like The Model: USer
public class user
{
[Key]
public int userid { get; set; }
[Required]
[StringLength(150)]
[DisplayName("Email")]
public string Email { get; set; }
[DisplayName("Password")]
[Required]
[DataType(DataType.Password)]
[StringLength(20, MinimumLength = 6)]
public string Password { get; set; }
public string PasswordSalt { get; set; }
}
The Controller:
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult logIn()
{
return View();
}
[HttpPost]
public ActionResult logIn(Models.user user)
{
if (ModelState.IsValid)
{
if (user !=null)
{
FormsAuthentication.SetAuthCookie(user.Email, false);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", "Login Data is Incorrect.");
}
}
return View(user);
}
[HttpGet]
public ActionResult Registration()
{
return View();
}
[HttpPost]
public ActionResult Registration(Models.user user)
{
if (ModelState.IsValid)
{
var sysUser = db.users.Create();
sysUser.Email = user.Email;
sysUser.Password = user.Password;
db.users.Add(sysUser);
db.SaveChanges();
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("","Login Data is Incorrect.");
}
return View();
}
public ActionResult Logout()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index","home");
}
The Login.CSHTML (View)
@using (Html.BeginForm())
{
@Html.ValidationSummary(true, "Login Failed. Check your Details.");
<div>
<fieldset>
<legend>Login Form</legend>
<div>@Html.LabelFor(u=>u.Email)</div>
<div>@Html.TextBoxFor(u=> u.Email)
@Html.ValidationMessageFor(u=>u.Email)
</div>
<div>@Html.LabelFor(u=>u.Password)</div>
<div>@Html.PasswordFor(u=> u.Password)
@Html.ValidationMessageFor(u=>u.Password)
</div>
<input type ="submit" Value="Login" />
</fieldset>
</div>
}
This is working code : I want to make an administrator and some users ... I want to make protected some pages for users ...