2009-08-04 4 views
4

Предоставляет ли ASP.NET базовую функцию, используемую для генерации идентификаторов сеансов? Я хочу создать токен сеанса для использования в веб-службе, но он не будет помещен в заголовок Set-Cookie. Если у ASP.NET уже есть функция, которую я могу использовать для генерации идентификатора сеанса, это избавит меня от необходимости сворачивать мои собственные.Функция ASP.NET использует для генерации идентификатора сеанса?

ответ

5

Reflector ваш друг:

SessionIDManager.CreateSessionID()

internal static string Create(ref RandomNumberGenerator randgen) 
{ 
    if (randgen == null) 
    { 
     randgen = new RNGCryptoServiceProvider(); 
    } 
    byte[] data = new byte[15]; 
    randgen.GetBytes(data); 
    return Encode(data); 
} 
+0

Это было похоже на то, как я собирался бросить это самостоятельно ... утешительно, чтобы знать, что я не за горами. – DSO

1

Вы не можете сделать System.Guid.NewGuid().ToString()?

+0

Как я понимаю, хорошо Идентификаторы GUID на уникальность, но они плохо, как знак безопасности, потому что они не достаточно, чтобы предотвратить случайное угадывание. – DSO

+1

Я бы хотел, чтобы кто-то угадал руководство! –

0

Я не уверен, что ASP.Net использует под капотом, но вы должны иметь возможность использовать System.Guid.NewGuid().ToString(), чтобы придумать уникальное значение.

Смежные вопросы