Ho creato la mia prima piccola webapp uber con MVC4. Finora ho usato il layout per configurare la webapp e aggiunto alcuni controller di visualizzazioni e un modello per registrarmi e consentire agli utenti di effettuare il login.ASP.NET MVC4 Nome utente archivio stato sessione
Una volta che un utente ha effettuato l'accesso/registrato, memorizzo il suo nome utente nella sessione. Ho letto questa proprietà dalla sessione per determinare se un utente è stato registrato o meno.
È una cattiva pratica? Ho letto molto su webapps RESTful e senza stato. Ho la sensazione che non dovrei salvare nulla nella mia sessione.
ad es.
@if (string.IsNullOrEmpty(Session["User"] as string))
{
<dl>
<dt><a href="/Account/Register">Register</a></dt>
<dt><a href="/Account/Login">Login</a></dt>
</dl>
}
else
{
<dl>
<dt><a href="/Account/ShowAccount/@Session["User"]">@Session["User"]</a></dt>
<dt><a href="/Account/Logout">Log out</a></dt>
</dl>
}
Q1: questa è una cattiva pratica?
Q2: è questo "hack safe"? Com'è, è facile hackerare la sessione corrente e memorizzare un valore nella Sessione ["Utente"] per escludere l'accesso?
Perché non utilizzare solo la funzionalità di appartenenza ASP.NET integrata per verificare se un utente è già connesso? –
Indovina che ho dimenticato di sottolineare il fatto che sono un po 'nuovo :). Ho imparato così tante cose finora, ma non ho ancora incontrato quella parte. Lo controllerò ma sono ancora curioso dopo le risposte alle domande. Scommetto che troverò la necessità di archiviare materiale nelle sessioni successive e mi piacerebbe sapere se posso usarlo come descritto sopra senza problemi. – bas