Если все, что вам нужно, это хранить произвольные данные вместе с именем пользователя, есть проект с открытым исходным кодом, называемый FormsAuthenticationExtensions , который позволяет вам сделать это очень просто:
При выполнении действия «Вход в систему» вы сохраняете свои данные следующим образом:
var ticketData = new NameValueCollection
{
{ "name", user.FullName },
{ "emailAddress", user.EmailAddress }
};
new FormsAuthentication().SetAuthCookie(user.UserId, true, ticketData);
И вы читаете их обратно так:
var ticketData = ((FormsIdentity) User.Identity).Ticket.GetStructuredUserData();
var name = ticketData["name"];
var emailAddress = ticketData["emailAddress"];
Данные хранятся в том же файле cookie, содержащем билет проверки подлинности,поэтому он будет доступен, пока пользователь вошел в систему.
Страница проекта: http://formsauthext.codeplex.com/
Nuget: http://nuget.org/List/Packages/FormsAuthenticationExtensions