Prova questa:
web.config:
<authentication mode="Forms">
<forms loginUrl="~/Admin/LogOn" timeout="2880" >
<credentials passwordFormat="SHA1">
<user name="admin" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8"/>
</credentials>
</forms>
</authentication>
Formato password è impostata su SHA1, quindi La password non sarà visibile in chiaro. Tuttavia può ancora essere rotto. Ad esempio, genera il tuo hash utilizzando il generatore SHA1 online.
loginUrl è un percorso verso la tua pagina di accesso (duh: P), quindi cambialo se è diverso.
CredentialsViewModel:
public class CredentialsViewModel
{
[Required]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
}
vista del modello per la visualizzazione di accesso.
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();
}
Così azione accesso verrà autenticare le credenziali passate dal punto di vista; confrontalo con i dati di web.config.
Parte importante qui è l'attributo [Authorize] che impedisce l'accesso da parte di utenti non autorizzati.
Otterrete risposte migliori se fornite esempi di codice. – robrich
@robrich perché hai bisogno di codice per queste domande? – tito11
perchè giù voto ??? – tito11