Windows Role Provider (AspNetWindowsTokenRoleProvider) ASP.NET, не замечающий пользователя, добавляемого к новой группе

Я пытаюсь создать приложение, которое использует <авторизация> правила ограничить группы, которые разрешены получить доступ к приложению. Я использую аутентификацию Windows и поставщика Windows Role для ASP.NET (AspNetWindowsTokenRoleProvider). Я использую локальные группы для определения ролей, поскольку домен, который я разрабатываю на, и домен, на котором будет в конечном счете развернуто приложение, будет отличаться.

То, когда я первоначально устанавливаю, развернуло мое приложение на сервере IIS7, и я устанавливаю сайт для использования стандартной аутентификации с надлежащим доменом по умолчанию, все хорошо работало для пользователей, которые были уже присвоены авторизованным группам. Однако, когда я попытался добавить нового пользователя к любой из авторизованных групп, этот пользователь никогда не разрешался получить доступ к приложению. Я сделал все, сохраняют для перезагрузки машины. Я перезапустил IIS, а также удалил все временные файлы и cookie на стороне клиента, напрасно.

Нужно указать, что это - приложение MVC ASP.NET, хотя я не думал, что это будет действительно иметь любое значение. Вот подходящие записи от моего web.config:

<!-- use windows authentication -->
<authentication mode="Windows" />

<!-- use the Windows role provider -->    
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />

<!-- global authorization rules -->
<authorization>
    <allow roles="admins,contractors"/>
    <deny users="*" />
</authorization>

Например, скажем, у нас есть пользователь, "Domain\joe", который в настоящее время не является членом локальной "администраторской" группы, но мы хотим добавить его. Мы идем, добавляют его, и затем когда Joe пытается войти в систему, он видит ошибку, что он не authroized (после того, как несколько неудавшихся входов в систему пытаются). Никакой объем перезапусков IIS или наличия, Joe удаляет свои cookie и другие временные файлы, не решит эту проблему.

ASP.NET сохраняет некоторый секретный кэш роли/группы? Как Вы идете о добавлении нового пользователя группе и затем удостоверяясь, что ролевой поставщик будет видеть, что пользователь был добавлен к группе?

5
задан Justin Holzer 21 September 2009 в 16:36
поделиться