Я использую Confluence 3.5.13.
У меня есть SSO-аутентификация для нашего леса Active Directory, работающего с использованием подключаемого модуля NTLMv2 от TechTime.
Пользователи с активной учетной записью в Confluence входят в систему автоматически, а пользователи без учетной записи могут просматривать пространства как анонимные. Здесь нет проблем.
Однако существует проблема с пользователями, у которых есть отключенная учетная запись в базе данных Confluence. К чему бы они ни пытались получить доступ, они получают страницу, на которой написано: «Вам не разрешено выполнять это действие».
У меня такой вопрос: можно ли настроить Confluence так, чтобы человек с отключенной учетной записью мог просматривать веб-страницы так же, как анонимный пользователь?
Удаление учетной записи пользователя невозможно из-за ссылок на контент, который они размещали в прошлом. Они могут выйти из системы, но как только они перейдут на другую страницу, система единого входа снова аутентифицирует их, и им будет отказано в доступе.
Я думаю, мне нужен способ предоставить пользователям с отключенными учетными записями глобальное разрешение «Использовать Confluence», сохраняя при этом их отключенный статус для других целей.
Я также разместил этот вопрос на форумах Atlassian, так что гонка за хорошим ответом продолжается. ;-)
От Эда в TechTime:
Можно заставить IOPlex Jespa (библиотека, которая фактически выполняет аутентификацию NTLM под капотом) устанавливать анонимную идентификацию в сеанс при выходе из системы. Это предотвратит повторный вход пользователей в систему сразу после явного выхода из системы, но также устранит возможность повторного входа в систему, просто щелкнув что-либо за пределами страницы выхода. Если вы действительно хотите пойти по этому пути, просто добавьте / измените это в определении фильтра Jespa в web.xml:
<init-param>
<param-name>http.parameter.anonymous.name</param-name>
<param-value>logout</param-value>
</init-param>
<init-param>
<param-name>http.parameter.logout.name</param-name>
<param-value>logout</param-value>
</init-param>
<init-param>
<param-name>fallback.location</param-name>
<param-value>/login.action?logout=true</param-value>
</init-param>
Это говорит Jespa 3 вещи:
- если вы видите параметр выхода в URL, выйдите из системы.
- если вы видите параметр выхода из системы в URL-адресе, установите анонимный идентификатор
- если по какой-то причине аутентификация не удалась - перейдите в форму входа и установите анонимную идентификацию, пока вы на ней
Отсюда я также добавил код в notpermitted.vm для перенаправления на logout.action, а также login.vm для перенаправления на домашнюю страницу при выходе из системы. Это кладж, но Эд сказал, что они собираются обновить плагин, чтобы не регистрировать отключенного пользователя.