Лучший вариант пользовательской аутентификации с использованием ASP .NET MVC (кэш, cookie…)

Я немного заблудился, используя аутентификацию с помощью MVC ...

Я ищу лучший вариант для большого сайта электронной коммерции , где производительность наивысшая приоритет ...

До сих пор я просматривал следующие два варианта:

  • Создать FormsAuthenticationTicket и зашифровать его в cookie , как это реализовано здесь: Реализация cookie
  • Кэшировать данные аутентификации, например:

     protected void Application_AuthenticateRequest (отправитель объекта, EventArgs e)
    {
     если (HttpContext.Current.User! = null)
     {
     если (HttpContext.Current.User.Identity.IsAuthenticated)
     {
     если (HttpContext.Current.User.Identity - это FormsIdentity)
     {
     // Получить удостоверение формы от текущего пользователя
     FormsIdentity id = FormsIdentity) HttpContext.Current.User.Identity;
     // Создаем настраиваемый основной экземпляр и назначаем его текущему пользователю (с кешированием)
     Заказчик-участник = (Заказчик) HttpContext.Current.Cache.Get (id.Name);
     если (принципал == нуль)
     {
     // Создайте и заполните свой объект Principal необходимыми данными и ролями.
     принципал = MyBusinessLayerSecurityClass.CreatePrincipal (id, id.Name); 
     HttpContext.Current.Cache.Add (
     id.Name,
     главный
     ноль,
     System.Web.Caching.Cache.NoAbsoluteExpiration,
     новый TimeSpan (0, 30, 0),
     System.Web.Caching.CacheItemPriority.Default,
     ноль);
     }
     HttpContext.Current.User = принципал;
     }
     }
     }
    }
    

Пример кеширования здесь

Что вы, ребята, думаете?

Спасибо

6
задан Paul 18 November 2010 в 11:50
поделиться