Получить имя сеанса cookie - PullRequest
4 голосов
/ 30 ноября 2010

Можно ли получить имя файла cookie сеанса со средним уровнем доверия? Приведенный ниже код работает с полным доверием, но выдает исключение безопасности на среднем уровне доверия.

string sessionCookieName = ((SessionStateSection)WebConfigurationManager.GetSection("system.web/sessionState")).CookieName;

1 Ответ

1 голос
/ 30 ноября 2010

Вы можете использовать переменную сервера HTTP_COOKIE из объекта запроса, чтобы получить строку cookie, которая была включена в запрос.

string cookieString = Request.ServerVariables["HTTP_COOKIE"]

Если вам нужно получить имя файла cookie сеанса из файла web.config, почему бы вам не добавить простую запись в раздел appSettings , содержащий имя файла cookie сеанса

    <appSettings>       
        <add key="SessionCookieName" value="__SessionCookieName"/>
    <appSetting>

    <sessionState cookieName="__SessionCookieName"  />        

Затем вы можете прочитать значение параметра web.config, используя следующий код:

public static bool SessionCookieName
{
    get { return ConfigurationManager.AppSettings["SessionCookieName"]; }
} 
...