Prueba esto:
web.config:
<authentication mode="Forms">
<forms loginUrl="~/Admin/LogOn" timeout="2880" >
<credentials passwordFormat="SHA1">
<user name="admin" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8"/>
</credentials>
</forms>
</authentication>
formato de la contraseña se ajusta a SHA1, por lo que su contraseña no será visible en texto claro. Todavía puede ser descifrado. Genere su propio hash usando un generador SHA1 en línea, por ejemplo.
loginUrl es una ruta a su página de inicio de sesión (duh: P), así que cámbiela si es diferente.
CredentialsViewModel:
public class CredentialsViewModel
{
[Required]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
}
Ver modelo para la vista de inicio de sesión.
AdminController:
public ViewResult LogOn()
{
return View();
}
[HttpPost]
public ActionResult LogOn(CredentialsViewModel model, string returnUrl)
{
if(ModelState.IsValid)
{
if(FormsAuthentication.Authenticate(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, false);
return Redirect(returnUrl ?? Url.Action("Index", "Admin"));
}
else
{
ModelState.AddModelError("", "Incorrect username or password");
}
}
return View();
}
[Authorize]
public ViewResult Index()
{
return View();
}
Así acción de inicio de sesión será autenticar las credenciales que pasan de la vista; compáralo con datos de web.config.
Parte importante aquí es [Authorize] atributo que impedirá el acceso de usuarios no autorizados.
Obtendrá mejores respuestas si proporciona muestras de código. – robrich
@robrich ¿por qué necesita el código para estas preguntas? – tito11
¿por qué votar abajo? – tito11