2012-02-08 4 views
1

Мне интересно, есть ли какие-либо риски или подводные камни во мне, используя событие WindowsAuthentication_OnAuthenticate, чтобы создать билет FormsAutnetication для хранения пользовательских ролей. Я беру эти роли из нескольких разных запросов (у меня нет разрешения на изменение схемы db, поэтому ...). Я не хочу использовать диспетчер ролей ASP.NET, и я обеспокоен тем, что если я не буду использовать файл cookie (по крайней мере один, который истекает каждые 30 минут или около того), то производительность может быть проблемой, поскольку WindowsAuthentication_OnAuthenticateis будет вызван для каждого запроса и я бы постоянно делал эти вызовы db (не говоря уже о необходимости расшифровать cooke и создать пользовательский принцип для моего контекста в событии Application_AuthenticateRequest).Использование форм аутентификации Cookie для роли кеша - (проверка подлинности Windows)

ответ

3

Да и нет. Если это скомпрометировано, да, если нет. С точки зрения безопасности это не очень хорошая идея, и это было скомпрометировано, хотя оно быстро исправлено (см. Уязвимость ПОЭТ). Вам нужно решить, стоит ли риск того, что он вообще не является " т.

Почему бы не рассмотреть кеш-сервер, чтобы хранить эти данные вместо этого, и только кеш пуст, а затем проверить роли?

+0

Отлично, кеш-сервер кэш-памяти. Спасибо! – enamrik

+0

Из любопытства, какой метод кеширования на стороне сервера вы бы предложили для этой задачи? Сессия недоступна, и HttpContext.Current.Cache или HttpRuntime.Cache, похоже, вызывают у меня проблемы с IIS7 (хотя отлично работает на IIS 6) – dougajmcdonald

+0

что конкретно связано с HttpRuntime.Cache? –

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