You can use the object Session to store user information.
The Session object allows the developer to obtain the data, previously persisted in the session, for a specified time in the Session (default 20 minutes). But, use this feature sparingly, storing only your user’s required data, since Session data is stored by default in memory, many data may trigger scalability issues.
//Variáveis do usuário
string firstName = "Jeff";
string lastName = "Smith";
string city = "Seattle";
//Salvando informações na sessão.
Session["FirstName"] = firstName;
Session["LastName"] = lastName;
Session["City"] = city;
//Lendo variáveis da sessão.
firstName = (string)(Session["FirstName"]);
lastName = (string)(Session["LastName"]);
city = (string)(Session["City"]);
Example:
public class MeuController
{
//Trabalhando com a session em uma propriedade do controller
public static Pessoa dadosPessoa
{
get
{
if(Http.Context.Current.Session["pessoaX"] == null)
{
Pessoa p = new Pessoa();
//Cria uma variável na session chamada pessoaX contendo um objeto p
Http.Context.Current.Session["pessoaX"] = p;
return p;
}
else
{
return (Pessoa)Http.Context.Current.Session["pessoaX"];
}
}
}
public ActionResult Index()
{
//Recuperando dados previamente persistidos na sessão
var pessoa = (Pessoa)(Session["pessoaX"]);
var lista = obterDadosRepositorio(pessoa);
return View("Index", lista)
}
}
//Acessando dados na view com Razor
@{ var sessionVar = Session["pessoaX"]; }
ou
<%= this.Session["pessoaX"] %>
When a user logs into your application, you could populate and add an object with that user’s data in Section and recover when desired.
Honestly I didn’t understand the insecurity, laborious part that differs it from Webforms to MVC. Trivially speaking there is no way to avoid such doubt, you might then pose why you find insecure and laborious, with an example???
– user6026